一、简单展示NSFileManager的使用
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建文件管理对象 NSFileManager *fm = [NSFileManager defaultManager]; //要操作的文件名 NSString *fname = @"myfile"; //获取文件的字典 NSDictionary *attr; //当前路径 NSString *path; //获取当前路径 path = [fm currentDirectoryPath]; //NSLog(@" The current path is : %@", path); //检测文件是否存在 if ([fm fileExistsAtPath: fname] == NO) { //如果不存在则建立一个文件 [fm createFileAtPath: fname contents: NULL attributes:nil]; //NSLog(@" The file is not exist!"); //return 0; } //拷贝创建一个新文件, 新文件若已存在则报错 if ([fm copyItemAtPath: fname toPath: @"newFile" error: NULL] == NO) { NSLog(@" Can't copy the file"); return 1; } //检测两个文件内容是否相同 if ([fm contentsEqualAtPath: fname andPath: @"newFile"] == NO) { NSLog(@" The contents is not same"); return 2; } //移动或者改名文件 if ([fm moveItemAtPath: @"newFile" toPath: @"myFile2" error:NULL] == NO) { NSLog(@" Can't change the name"); return 3; } //获取文件数据字典 if ((attr = [fm attributesOfItemAtPath: fname error:NULL]) == nil) { NSLog(@" Get attributets failed"); return 4; } //文件大小 NSLog(@"%@", attr[NSFileSize]); //文件类型 NSLog(@"%@", attr[NSFileType]); //创建者 NSLog(@"%@", attr[NSFileOwnerAccountName]); // NSLog(@"%@", attr[NSFileCreationDate]); //显示文件内容 NSLog(@" Show the file contents"); NSLog(@" %@", [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(@" %@", [NSString stringWithContentsOfFile:@"myFavoriteFile" encoding: NSUTF8StringEncoding error:NULL]); 24 } 25 return 0; 26 }
三、简单的目录操作
1 #import <Foundation/Foundation.h> 2 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(@" Currentpath is : %@", currentPath); 14 15 //在当前目录下新建一个目录 16 if ([fm createDirectoryAtPath:newDir withIntermediateDirectories:TRUE attributes:nil error:NULL] == NO) { 17 NSLog(@" Couldn't creat the directory..."); 18 return 0; 19 } 20 21 //更改路径名 22 if ([fm moveItemAtPath: newDir toPath: @"changeDir" error:NULL] == NO) { 23 NSLog(@" Change directory name failed"); 24 return 2; 25 } 26 27 //更改当前路径 28 if ([fm changeCurrentDirectoryPath:@"changeDir"] == NO) { 29 NSLog(@" Change current directory failed"); 30 return 1; 31 } 32 NSLog(@" After change current directory....."); 33 currentPath = [fm currentDirectoryPath]; 34 NSLog(@" Currentpath is : %@", currentPath); 35 } 36 return 0; 37 }