NSFileManager操作文件及目录

1.遍历目录下所有文件及目录(不包含子目录下的文件)

#define DIRPATH @"/Users/test/Desktop"

NSError * err = nil;
NSFileManager * fm = [NSFileManager defaultManager];
NSArray * dirArr = [fm contentsOfDirectoryAtPath:DIRPATH error:&err];
NSLog(@"%@", dirArr);

2.遍历目录下所有文件及目录(包含子目录)

NSError * err = nil;
NSFileManager * fm = [NSFileManager defaultManager];
NSArray * dirArr = [fm subpathsOfDirectoryAtPath:DIRPATH error:&err];
NSLog(@"%@", dirArr);

3.创建目录

NSError * err = nil;
NSFileManager * fm = [NSFileManager defaultManager];
[fm createDirectoryAtPath:[NSString stringWithFormat:@"%@/CreateDir", DIRPATH] withIntermediateDirectories:YES attributes:nil error:&err];
注:这里withIntermediateDirectories表示当发现中间目录不存在时是否需要创建
还有attributes代表创建目录的属性,如果没有特殊需求就设置nil

4.创建文件

NSFileManager * fm = [NSFileManager defaultManager];
[fm createFileAtPath:[NSString stringWithFormat:@"%@/CreateFile.txt", DIRPATH] contents:[@"create file success" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
注:这里创建的文件类型却决于文件扩展名

5.复制文件或目录

NSError * err = nil;
NSFileManager * fm = [NSFileManager defaultManager];
[fm copyItemAtPath:[NSString stringWithFormat:@"%@/CreateDir", DIRPATH] toPath:[NSString stringWithFormat:@"%@/CreateDir2", DIRPATH] error:&err];

6.移动(剪切)文件或目录

NSError * err = nil;
NSFileManager * fm = [NSFileManager defaultManager];
[fm moveItemAtPath:[NSString stringWithFormat:@"%@/CreateFile.txt", DIRPATH] toPath:[NSString stringWithFormat:@"%@/CreateDir/moveFile.txt", DIRPATH] error:&err];
备注:可以用这个函数实现文件重命名


你可能感兴趣的:(NSFileManager操作文件及目录)