NSFileManager是一个单粒类,用于管理文件和文件夹的。
下面代码是NSFileManager的简单应用:
//1.defaultManager是创建一个单例对象
NSFileManager *manager = [NSFileManager defaultManager];
//2.判断文件或者文件夹是否存在
NSString *path = @"/Users/MAC_SJM/Desktop";
BOOL flag = [manager fileExistsAtPath:path];
flag ? NSLog(@"文件存在") : NSLog(@"文件存在");
//3.判断一个文件是否存在, 并且判断它是否是一个文件夹
//注意: 该方法的返回值是说明传入的路径对应的文件或文件夹是否存在
//第二个参数是用于保存判断结果的,如果是一个目录, 那么就会赋值为YES, 如果不是就赋值为NO
BOOL boo;
BOOL flag1 = [manager fileExistsAtPath:path isDirectory:&boo];
NSLog(@"flag = %d bool = %d",flag1,boo);
//4.获取文件的属性
NSDictionary *info = [manager attributesOfItemAtPath:path error:nil];
NSLog(@"%@",info);
//5.获取文件夹中的所有文件
//contentsOfDirectoryAtPath:只能获取当前文件夹下的所有文件,不能获取子文件夹里的文件
NSArray *arr = [manager contentsOfDirectoryAtPath:path error:nil];
NSLog(@"%@",arr);
//subpathsOfDirectoryAtPath:能获取当前文件夹和子文件夹下的所有文件,有错误提示error
NSArray *arr1 = [manager subpathsOfDirectoryAtPath:path error:nil];
NSLog(@"%@",arr1);
//subpathsAtPath:能获取当前文件夹和子文件夹下的所有文件
NSArray *arr2 = [manager subpathsAtPath:path];
NSLog(@"%@",arr2);
//6.创建文件夹
// createDirectoryAtPath: 告诉系统文件夹需要创建到什么位置
// withIntermediateDirectories: 如果指定的文件中有一些文件夹不存在, 是否自动创建不存在的文件夹
// attributes: 指定创建出来的文件夹的属性
// error: 是否创建成功, 如果失败会给传入的参数赋值
// 注意: 该方法只能用于创建文件夹, 不能用于创建文件
BOOL flag2 = [manager createDirectoryAtPath:@"/Users/MAC_SJM/Desktop/kkkk" withIntermediateDirectories:YES attributes:nil error:nil];
flag2 ? NSLog(@"创建成功") : NSLog(@"创建失败");
//7.创建文件
// createFileAtPath: 指定文件创建出来的位置
// contents : 文件中的内容
// attributes: 创建出来的文件的属性
// NSData : 二进制数据
// 注意: 该方法只能用于创建文件, 不能用于创建文件夹
NSString *str = @"天天编程";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
BOOL flag3 = [manager createFileAtPath:@"/Users/MAC_SJM/Desktop/kkkk.txt" contents:data attributes:nil];
flag3 ? NSLog(@"创建成功") : NSLog(@"创建失败");