NSFileManager文件管理

文件: 文件夹(目录) 和 文件
一、NSFileManager 单例类
单例对象:用类方法 创建的 无论哪儿使用同一个类方法 创建的对象 都是同一个对象
单例类 : 只要是使用这个类创建的对象 就是同一个对象 fileManger ….. alloc init default
NSFileManager 单例类 创建的文件管理器 就是个单例对象
是用来管理 文件夹 或者是 文件 并不能够 管理文件的内容
1、创建方法
NSFileManager * fm = [NSFileManager defaultManager];
2、增 删 改 查
增:
BOOL ret=[fm createDirectoryAtPath:@"/Users/apple/Desktop/b/a"
withIntermediateDirectories:NO attributes:nil error:&e];
//第一个参:文件路径 + 文件名
//第二个参:是否创建中间路径 NO不用创建中间路径YES自动补齐中间路径
//第三个参数:是文件创建的属性 nil默认属性
//第四个参数: 是错误信息捕捉
ret=[fm createFileAtPath:newS contents:nil attributes:nil];
删:
删除 使用的是同一个方法
ret=[fm removeItemAtPath:[NSString stringWithFormat:@"%@/%@",PATH,@"a"] error:&e];
改:如果目标 文件夹已经有了 那么就不会实现
//拷贝 把A 文件 或者 A文件夹 拷贝到另一个路径下
ret = [fm copyItemAtPath:URL(@"file.txt") toPath:URL(@"m.txt") error:nil];
ret = [fm copyItemAtPath:URL(@"a") toPath:URL(@"b") error:nil];
//move 直接移动
[fm moveItemAtPath:URL(@"file.txt") toPath:URL(@"/b/file.txt") error:nil];
3、错误信息
NSError * e;
perror(">>>>>");

//浅度遍历
////只查看 本目录下的文件 或者是文件夹 不会查看子目录下的文件
NSArray *arr= [fm contentsOfDirectoryAtPath:URL(@"") error:nil];
//深度遍历
//遍历目录下的文件 以及子目录下的文件
NSArray *arr1 = [fm subpathsOfDirectoryAtPath:URL(@"b") error:nil];
//查看文件 / 文件夹的属性
NSDictionary * dic=[fm attributesOfItemAtPath:URL(@"m.txt") error:nil];
//获得文件大小 1G 传输数据的时候 需要控制一次传的数据量 100M
size_t size= [[dic objectForKey:@"NSFileSize"] integerValue];
//查看目录下时候存在文件 或者是目录 并且区分开 到底是文件还是目录
BOOL isDirectory = NO;
ret=[fm fileExistsAtPath:URL(@"file.txt") isDirectory:&isDirectory];
//返回值 ret表示 目录是否存在文件或者目录
//isDirectory来判断 如果isDirectory是1 就是目录
//如果返回isDirectory是0 就是文件

NSFileManager文件管理_第1张图片
NSFileManagerMthod2.png
NSFileManager文件管理_第2张图片
NSFileManagerMthod1.png

你可能感兴趣的:(NSFileManager文件管理)