NSFileHandle 和 NSFileManager的一些用法
文件操作
        NSFileManager 
        常见的NSFileManager文件的方法:
        -(BOOL)contentsAtPath:path                从文件中读取数据
        -(BOOL)createFileAtPath:path contents:(BOOL)data attributes:attr      向一个文件写入数据
        -(BOOL)removeFileAtPath: path handler: handler   删除一个文件
        -(BOOL)movePath: from toPath: to handler: handler 重命名或移动一个文件(to可能已经存在)
        -(BOOL)copyPath:from toPath:to handler: handler 复制文件 (to不能存在) 
        -(BOOL)contentsEqualAtPath:path1 andPath:path2    比较两个文件的内容 
        -(BOOL)fileExistsAtPath:path    测试文件是否存在 
        -(BOOL)isReadablefileAtPath:path 测试文件是否存在,且是否能执行读操作 
        -(BOOL)isWritablefileAtPath:path 测试文件是否存在,且是否能执行写操作 
        -(NSDictionary *)fileAttributesAtPath:path traverseLink:(BOOL)flag   获取文件的属性 
        -(BOOL)changeFileAttributes:attr atPath:path                        更改文件的属性
NSFileManager对象的创建 :
            NSFileManager *fm;
            fm = [NSFileManager defaultManager]; 
        NSDictionary *attr =[fm fileAttributesAtPath: fname traverseLink: NO] ; //文件属性
                     NSLog(@"file size is:%i bytes ",[[attr objectForKey:NSFileSize] intValue]);
        NSData *data =[fm contentsAtPath:@"filename"];//文件内容
常见的NSFileManager目录的方法:
        -(NSString *)currentDirectoryPath                      获取当前目录 
        -(BOOL)changeCurrentDirectoryPath:path                更改当前目录 
        -(BOOL)copyPath:from toPath:to handler:handler      复制目录结构,to不能已经存在 
        -(BOOL)createDirectoryAtPath:path attributes:attr    创建目录 
        -(BOOL)fileExistsAtPath:path isDirectory:(BOOL *)flag       测试文件是否为目录 (flag存储结构yes/no) 
        -(NSArray *)contentsOfDirectoryAtPath:path              列出目录的内容 
        -(NSDirectoryEnumerator *)enumeratorAtPath:path  枚举目录的内容 
        -(BOOL)removeFileAtPath:path handler:handler    删除空目录 
        -(BOOL)movePath:from toPath:to handler:handler    重命名或移动一个目录,to不能是已经存在的
path= [fm currentDirectoryPath] ;
        NSArray *dirarray;
        NSDirectoryEnumerator *direnu;
direnu = [fm enumeratorAtPath:path];
        NSLog(@"contents of %@\n",path);
        BOOL flag;
        while((path = [direnu nextObject])!=nil)
        {
                    NSLog(@"%@ ",path);
                    [fm fileExistsAtPath:path isDirectory:&flag];
                    if(flag == YES)
                    [direnu skipDescendents]; //跳过子目录 
        }
        path= [fm currentDirectoryPath] ;
        dirarray = [fm contentsOfDirectoryAtPath:path];
        NSLog(@"%@ ",dirarray);
常用路径工具函数
        NSString * NSUserName(); 返回当前用户的登录名 
        NSString * NSFullUserName(); 返回当前用户的完整用户名 
        NSString * NSHomeDirectory(); 返回当前用户主目录的路径 
        NSString * NSHomeDirectoryForUser(); 返回用户user的主目录 
        NSString * NSTemporaryDirectory(); 返回可用于创建临时文件的路径目录
常用路径工具方法
        -(NSString *) pathWithComponents:components                         根据components中元素构造有效路径 
        -(NSArray *)pathComponents                                          析构路径,获取路径的各个部分 
        -(NSString *)lastPathComponent                                       提取路径的最后一个组成部分 
        -(NSString *)pathExtension                                           路径扩展名 
        -(NSString *)stringByAppendingPathComponent:path                    将path添加到现有路径末尾 
        -(NSString *)stringByAppendingPathExtension:ext                     将拓展名添加的路径最后一个组成部分 
        -(NSString *)stringByDeletingPathComponent                           删除路径的最后一个部分 
        -(NSString *)stringByDeletingPathExtension                           删除路径的最后一个部分 的扩展名 
        -(NSString *)stringByExpandingTildeInPath                            将路径中的代字符扩展成用户主目录(~)或指定用户主目录(~user) 
        -(NSString *)stringByResolvingSymlinksInPath                         尝试解析路径中的符号链接 
        -(NSString *)stringByStandardizingPath                               通过尝试解析~、..、.、和符号链接来标准化路径 
        - 
        使用路径NSPathUtilities.h 
        tempdir = NSTemporaryDirectory(); 临时文件的目录名 
        path = [fm currentDirectoryPath];
        [path lastPathComponent]; 从路径中提取最后一个文件名 
        fullpath = [path stringByAppendingPathComponent:fname];将文件名附加到路劲的末尾 
        extenson = [fullpath pathExtension]; 路径名的文件扩展名 
        homedir = NSHomeDirectory();用户的主目录 
        component = [homedir pathComponents];  路径的每个部分
NSProcessInfo类:允许你设置或检索正在运行的应用程序的各种类型信息
        (NSProcessInfo *)processInfo                                  返回当前进程的信息
        -(NSArray*)arguments                                           以NSString对象数字的形式返回当前进程的参数
        -(NSDictionary *)environment                                   返回变量/值对词典。描述当前的环境变量
        -(int)processIdentity                                          返回进程标识
        -(NSString *)processName                                       返回进程名称
        -(NSString *)globallyUniqueString                              每次调用该方法都会返回不同的单值字符串,可以用这个字符串生成单值临时文件名   
        -(NSString *)hostname                                          返回主机系统的名称 
        -(unsigned int)operatingSystem                                 返回表示操作系统的数字 
        -(NSString *)operatingSystemName                                     返回操作系统名称 
        -(NSString *)operatingSystemVersionString                                     返回操作系统当前版本
        -(void)setProcessName:(NSString *)name                                将当前进程名称设置为name 
        过滤数组中的文件类型  : [fileList pathsMatchingExtensions:[NSArrayarrayWithObject:@"jpg"]];
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////
        基本文件操作NSFileHandle
        常用NSFileHandle方法
        (NSFileHandle *)fileHandleForReadingAtPath:path                        打开一个文件准备读取
        (NSFileHandle *)fileHandleForWritingAtPath:path                        打开一个文件准备写入
        (NSFileHandle *)fileHandleForUpdatingAtPath:path                        打开一个文件准备更新(读取和写入)
        -(NSData *)availableData                                                  从设备或通道返回可用数据
        -(NSData *)readDataToEndOfFile                                            读取其余的数据直到文件末尾(最多UINT_MAX字节)
        -(NSData *)readDataOfLength:(unsigned int)bytes 从文件读取指定数目bytes的内容
        -(void)writeData:data                  将data写入文件
        -(unsigned long long) offsetInFile      获取当前文件的偏移量
        -(void)seekToFileOffset:offset         设置当前文件的偏移量 
        -(unsigned long long) seekToEndOfFile      将当前文件的偏移量定位的文件末尾
        -(void)truncateFileAtOffset:offset        将文件的长度设置为offset字节
        -(void)closeFile                           关闭文件
注:文章内容是看到 pengyingh 这位园友写的 认为写的挺全面 所以粘贴到这里保存一下不时看看 而非原创
NSFileHandle 和 NSFileManager的一些用法的更多相关文章
- OC中NSFileManager
		NSFileManager介绍 NSFileManager是用来管理文件系统的 它可以用来进行常见的文件\文件夹操作(拷贝.剪切.创建等) NSFileManager使用了单例模式singleton ... 
- OC中文件读取类(NSFileHandle)介绍和常用使用方法
		NSFileHandle 1.NSFileManager类主要对于文件的操作(删除,修改,移动,赋值等等) //判断是否有 tagetPath 文件路径,没有就创建 NSFileManager *fi ... 
- iOS中的上传、下载流程心得
		访问相册 1. 判断资源库是否有效 2. 创建imagePickerController 设置代理 弹出视图控制器 3. 实现协议方法 > iOS10 访问系统相册需要在info.plis ... 
- iOS - 文件操作(File Operating)
		1. 沙盒 & NSData /*_______________________________获取沙盒路径_________________________________________* ... 
- 高级UIKit-03(NSFileManager、NSFileHandle)
		fileManager文件管理器 [day04_1_FileManager_Search] :查找文件 fileManager有一个方法可以判断文件是否是文件夹, fileExistsAtPath:i ... 
- 【原】iOS学习之文件管理器(NSFileManager)和文件对接器(NSFileHandle)
		1.文件管理器(NSFileManager) 1> 主要作用及功能方法 主要作用:此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 功能方法: 2> 创建文件夹 创建所 ... 
- ios  NSFileManager和NSFileHandle(附:获取文件大小 )
		转自 http://blog.csdn.net/zhibudefeng/article/details/7795946 //file 文件操作 NSFileManager 常见的NSFileMana ... 
- UI进阶 文件管理器(NSFileManager)文件对接器(NSFileHandle)
		一.文件管理器与文件连接器之间的区别 文件管理器(NSFileManager) 此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 文件连接器(NSFileHandle) 此类主要是 ... 
- OC语言--NSFileManager& NSFileHandle
		1.关于文件的介绍 ->什么是文件: 文件概念, 广义文件. 狭义文件(磁盘文件). 文件常见的使用操作(可用命令行演示文件操作的使用场景). ->什么是路径: 简单来说就是,在系统中,要 ... 
随机推荐
- web项目的两个创建形式website和webapplication(转)
			前言 在利用VS2010创建web项目的时候,会有两个选择.可以选择直接创建website网站,还可以选择使用 webapplication应用程序.刚刚接触web开发,看到这两个就疑惑了,既然是都可 ... 
- log4net在WinForm和ASP.net下的设置
			下载log4net.dll,放到bin目录下,然后引用到工程.下面说明配置和调用方法. 1.AssemblyInfo.cs末尾添加 [assembly: log4net.Config.XmlConfi ... 
- echars3.0 柱状图y轴字体斜放
			xAxis: [ { type: 'category', axisLabel: { interval: 0, rotate: 45,//倾斜角度设置,是什么时针未测 margin: 2 //距离上部的 ... 
- CSS3如何实现2D转换和3D转换,他们有何区别
			CSS3中2D3D技术的发展,带来了更丰富的视觉效果~他们的实现机理是怎样的呢? 1定义 2D: 能够对元素进行移动,缩放,转动,拉长或拉伸. 3D: 允许对元素进行格式化,在三维空间进行操作.元素改 ... 
- Linux 命令 - w: 显示登录的用户及其当前执行的任务
			命令格式 w - [husfV] [user] 命令参数 -h 不打印头部信息 -u 当列出当前进程和 CPU 时间时忽略用户名,这主要是用于执行su命令后的情况. -s 使用简短的格式化,不打印 L ... 
- SQL创建函数及应用
			用户自定义函数在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能.用户自定义函数可以在企业管理器中创建,也可以使用CREATE FUNCTION 语 ... 
- ios 一个app启动另一个app
			问题描述:需要从一个ios应用程序中,能启动另一个ios应用程序. 开发环境:xcode7.3.1 关键词:白名单(LSApplicationQueriesSchemes).注册自己的URL Demo ... 
- 控制GridView中字段的长度,规范数据
			前台: <asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridVi ... 
- js画了一个椭圆
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- C#中Predicate<T>与Func<T, bool>泛型委托的用法实例
			本文以实例形式分析了C#中Predicate<T>与Func<T, bool>泛型委托的用法,分享给大家供大家参考之用.具体如下: 先来看看下面的例子: 1 2 3 4 5 6 ... 
