一、简单展示NSFileManager的使用
#importint main(int argc, const char * argv[]){ @autoreleasepool { //创建文件管理对象 NSFileManager *fm = [NSFileManager defaultManager]; //要操作的文件名 NSString *fname = @"myfile"; //获取文件的字典 NSDictionary *attr; //当前路径 NSString *path; //获取当前路径 path = [fm currentDirectoryPath]; //NSLog(@"\nThe current path is : %@", path); //检测文件是否存在 if ([fm fileExistsAtPath: fname] == NO) { //如果不存在则建立一个文件 [fm createFileAtPath: fname contents: NULL attributes:nil]; //NSLog(@"\nThe file is not exist!"); //return 0; } //拷贝创建一个新文件, 新文件若已存在则报错 if ([fm copyItemAtPath: fname toPath: @"newFile" error: NULL] == NO) { NSLog(@"\n Can't copy the file"); return 1; } //检测两个文件内容是否相同 if ([fm contentsEqualAtPath: fname andPath: @"newFile"] == NO) { NSLog(@"\nThe contents is not same"); return 2; } //移动或者改名文件 if ([fm moveItemAtPath: @"newFile" toPath: @"myFile2" error:NULL] == NO) { NSLog(@"\nCan't change the name"); return 3; } //获取文件数据字典 if ((attr = [fm attributesOfItemAtPath: fname error:NULL]) == nil) { NSLog(@"\nGet attributets failed"); return 4; } //文件大小 NSLog(@"%@", attr[NSFileSize]); //文件类型 NSLog(@"%@", attr[NSFileType]); //创建者 NSLog(@"%@", attr[NSFileOwnerAccountName]); // NSLog(@"%@", attr[NSFileCreationDate]); //显示文件内容 NSLog(@"\n Show the file contents"); NSLog(@"\n%@", [NSString stringWithContentsOfFile: fname encoding:NSUTF8StringEncoding error:NULL]); } return 0;}
二、通过NSData完成副本制作
1 int main(int argc, const char * argv[]) 2 { 3 4 @autoreleasepool { 5 //通过NSDate来完成文件副本制作 6 NSFileManager *fm = [NSFileManager defaultManager]; 7 NSData *dt; 8 9 dt = [fm contentsAtPath: @"myfile"];10 11 if (dt == nil) {12 NSLog(@"Read file failed....");13 return 0;14 }15 16 //将缓冲区NSData中的内容复制到文件中17 if ([fm createFileAtPath:@"myFavoriteFile" contents: dt attributes:nil] == NO) {18 NSLog(@"Creat backups failed");19 return 1;20 }21 22 //读出文件内容23 NSLog(@"\n%@", [NSString stringWithContentsOfFile:@"myFavoriteFile" encoding: NSUTF8StringEncoding error:NULL]);24 }25 return 0;26 }
三、简单的目录操作
1 #import2 3 int main(int argc, const char * argv[]) 4 { 5 6 @autoreleasepool { 7 NSString *newDir = @"newDir"; 8 NSString *currentPath; 9 NSFileManager *fm = [NSFileManager defaultManager];10 11 //获取当前路径12 currentPath = [fm currentDirectoryPath];13 NSLog(@"\nCurrentpath is : \n%@", currentPath);14 15 //在当前目录下新建一个目录16 if ([fm createDirectoryAtPath:newDir withIntermediateDirectories:TRUE attributes:nil error:NULL] == NO) {17 NSLog(@"\nCouldn't creat the directory...");18 return 0;19 }20 21 //更改路径名22 if ([fm moveItemAtPath: newDir toPath: @"changeDir" error:NULL] == NO) {23 NSLog(@"\nChange directory name failed");24 return 2;25 }26 27 //更改当前路径28 if ([fm changeCurrentDirectoryPath:@"changeDir"] == NO) {29 NSLog(@"\nChange current directory failed");30 return 1;31 }32 NSLog(@"\nAfter change current directory.....");33 currentPath = [fm currentDirectoryPath];34 NSLog(@"\nCurrentpath is : \n%@", currentPath);35 }36 return 0;37 }