一、简单展示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(@"\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 #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( @" \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 }