直接上代码:
#import <Foundation/Foundation.h>
//使用宏定义创建
#define kPathFileOpeartion(subpath) \
[NSString stringWithFormat:@"/Users/ch/Desktop/OC/%@",subpath]
int main(int argc,const char * argv[]) {
@autoreleasepool {
NSFileManager *fileManager = [NSFileManagerdefaultManager];
NSError *error =nil;
//第一个参数:创建目录;第二个参数;是否创建中间目录
//第三个参数:创建目录或文件的属性;第四个参数:如果创建失败返回错误原因
BOOL ret = [fileManagercreateDirectoryAtPath:@"/Users/ch/Desktop/OC/test"withIntermediateDirectories:NOattributes:nilerror:&error];
//第二种方式
BOOL ret2 = [fileManagercreateDirectoryAtPath:kPathFileOpeartion(@"test1/test1-1")withIntermediateDirectories:YESattributes:nilerror:&error];
if(ret) {
NSLog(@"目录创建成功");
}
else {
NSLog(@"目录创建失败 resaon: %@",error);
}
//第二种方式
if(ret2) {
NSLog(@"目录创建成功");
}
else{
NSLog(@"目录创建失败 resaon:%@", error);
}
NSString *string =@"创建一个文本文件,这是文本内容";
NSData *data = [stringdataUsingEncoding:NSUTF8StringEncoding];
BOOL ret3 = [fileManagercreateFileAtPath:kPathFileOpeartion(@"test.txt")contents:data attributes:nil];
if(ret3) {
NSLog(@"test.txt文件创建成功");
}
else {
NSLog(@"文件创建失败");//创建文件时如果已经存在这个文件则会覆盖
}
//浅度遍历
NSArray *contents = [fileManager contentsOfDirectoryAtPath:@"/Users/ch/Desktop/OC/" error:nil];
NSLog(@"contents: %@", contents);
//深度遍历
contents = [fileManager subpathsOfDirectoryAtPath:@"/Users/ch/Desktop/OC/FileOperation" error:nil];
NSLog(@"contents:%@",contents);
//移动文件
[fileManager moveItemAtPath:@"test.txt" toPath:kPathFileOpeartion(@"test/test.txt") error:nil];
//拷贝文件
[fileManager copyItemAtPath:@"test/test.txt" toPath:kPathFileOpeartion(@"test/test.txt") error:nil];
//删除文件
[fileManager removeItemAtPath:@"test.txt" error:nil];
//打印文件信息
NSDictionary *dict = [fileManager attributesOfItemAtPath:kPathFileOpeartion(@"test.txt") error:nil];
NSLog(@"info: %@",dict);
//查看一个文件是否在这目录下
if ([fileManager fileExistsAtPath:kPathFileOpeartion(@"test.txt")]){
NSLog(@"YES");
}
else {
NSLog(@"NO");
}
}
return 0;
}