1,用于判断- //NSFileManager用于判断,判断前,先写好一个文件
- // 创建一个数组,并写入文件中
- NSArray *arr = [NSArray arrayWithObjects:@"one",@"two",@"three" ,nil];
- [arr writeToFile:@"/Users/hanyanping1/Desktop/arr.plist" atomically:YES];
- // 创建一个路径
- NSString *filePath =@"/Users/hanyanping1/Desktop/arr.plist";
- // 1.判断文件是否存在
- // 1)要判断,首先创建文件管理对象
- // 调用defaultManager创建一个文件管理的单例对象
- NSFileManager *fm = [NSFileManager defaultManager];
- BOOL isYES = [fm fileExistsAtPath:@"/Users/hanyanping1/Desktop/arr.plist"];
- NSLog(@"%d",isYES);
- if (isYES) {
- NSLog(@"存在");
- // 2.判断是否是一个目录
- // 只有文件存在才可以进行判断是否是一个目录
- BOOL isDir;
- [fm fileExistsAtPath:filePath isDirectory:&isDir];
- if (isDir) {
- NSLog(@"这是一个目录");
- }else{
- NSLog(@"这不是一个目录");//filePath 不是目录路径,是一个文件路径
- }
- }
-
- // 3.判断文件是否可读
- isYES = [fm isReadableFileAtPath:filePath];
- NSLog(@"%d",isYES);
- // 4.判断是否可写
- isYES = [fm isWritableFileAtPath:filePath];
- NSLog(@"%d",isYES);
- // 5.判断是否可删除
- isYES = [fm isDeletableFileAtPath:filePath];
- NSLog(@"%d",isYES);
- // 注意:根目录只可读,不可写,也不可删除
-
复制代码
2.获取信息
- // 1.获取文件信息
- NSDictionary *dict =[fm attributesOfItemAtPath:filePath error:nil];
- // 打印属性信息
- NSLog(@"%@",dict);
-
- // 2.获取指定目录下文件及子文件
-
- // 非递归方式获取
- NSArray *arr =[fm subpathsOfDirectoryAtPath:dirPath error:nil];
- NSLog(@"%@",arr);
- // 3.获取自定目录下的文件及目录信息(不再获取以后的路径)
- arr = [fm contentsOfDirectoryAtPath:dirPath error:nil];
- NSLog(@"%@",arr);
-
复制代码
3.创建目录,创建文件,拷贝文件,移动文件,删除文件
- NSFileManager *fm = [NSFileManager defaultManager];
- // 如何创建目录
- /* fm createDirectoryAtPath:一个路径
- withIntermediateDirectories:若为YES,自动创建路径中不可缺少的目录
- 若为NO,则不会自动创建路径中不可或缺的目录,找不到路径时会报错
- attributes:字典属性
- error:若出错,直接返回nil,不接收错误对象
- */
- BOOL isYES = [fm createDirectoryAtPath:@"/Users/apple/Desktop/aaa" withIntermediateDirectories:YES attributes:nil error:nil];
- // 如何创建文件
- // createFileAtPath:一个路径 contents:NSData类型的数据 attributes:文件的属性
- // 如何拷贝文件
- isYES = [fm copyItemAtPath:@"路径" toPath:@"路径" error:nil];
- // 如何移除文件
- isYES = [fm moveItemAtPath:@"路径" toPath:@"路径" error:nil];
- // 如何删除文件
- isYES = [fm removeItemAtPath:@"路径" error:nil];
-
复制代码 |
|