使用NSFileManagerのシンプルなショーケース
#importを <ファンデーション/ Foundation.h> int型のmain(int型 ARGC、CONST のchar * ARGV []) { @autoreleasepool { // ファイル管理ターゲットを作成 NSFileManager FM * = [NSFileManager defaultManager]; // 操作するファイル名 NSStringの* = fnameに"@ myfileの" ; //は、辞書ファイルを取得する NSDictionaryの* のattr; // 現在のパス * NSStringのパスを; // 現在のパスを取得する パスを= [FM currentDirectoryPath]; // NSLog(@ "\ nのパス現在は、次のとおりです。%@"、パス); // ファイルが存在するかどうかを検出する IF:(== [fnameはFM fileExistsAtPath] {NO) // それはファイルが存在しない場合は 、[FMのcreateFileAtPathを:fnameは内容量:NULL属性:nilを]; // のNSLog(@ "\ nのは、ファイルが存在しません!"); // 0を返す; } // コピーは、新しいファイルを新しいファイルを作成するために、すでにエラーがある場合 IF([FMのcopyItemAtPath :toPathのFNAME:@ " にnewFile "エラー:NULL] == NO){ のNSLog(@ " \ n型インクルードファイルをコピーすることはできません" ); リターン 。1 ; } // ファイルの内容と同じ2かどうかを検出し たIF([::andPathのFNAME FM contentsEqualAtPath "@ にnewFile " ==] {NO) のNSLog(@ " \ nの内容が同じではありません" ;) 戻る 2 ; } // 移動したり、名前を変更したファイル IF([FM moveItemAtPath:"@ にnewFile " :toPath @ " myfile2 "エラー:NULL] == NO){ のNSLog(@ " \ nCan't変更名" ); リターン 。3 。 } //辞書データファイルを取得 IF((ATTR = [FM attributesOfItemAtPath:エラーFNAME:NULL])== nilを){ のNSLog(@ " する\ n attributetsに失敗しました" ); リターン 。4 ; } // ファイルサイズ のNSLog(@ " %の@ " 、ATTR [NSFileSize]); // ファイルタイプ のNSLog("@ %の@ " 、ATTR [NSFileType]); // 作成者 のNSLog("@ %の@ " 、ATTR [NSFileOwnerAccountName]); // のNSLog(@ " % @ ")[NSFileCreationDate] ATTR。 // 显示文件内容 のNSLog(@ " \ n個のファイルの内容を表示します" ); (のNSLog "@ \ n%@ " 、[NSStringのstringWithContentsOfFile:FNAMEエンコード:NSUTF8StringEncodingエラー:NULL])。 } 戻り 0 。 }
第二に、完全なNSDataののコピーを作成することにより、
1 INTメイン(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(@ " 読み取りファイルが失敗した.... " ); 13れます 戻り 0 ; 14 } 15 16 // のNSDataのファイルにバッファの内容をコピー 17。 IF([FM createFileAtPath:"@ myFavoriteFile " DT属性:ゼロ目次] == NO){ 18である のNSLog("@ クリートバックアップ失敗" ;) 。19 リターン 1 ; 20 } 21である 22れる //はファイルの内容を読み出す 23で のNSLog(@" \ N-%@ ":[NSStringのstringWithContentsOfFile @" myFavoriteFile 」エンコーディング:NSUTF8StringEncodingエラー:NULL])。 24 } 25 リターン 0 。 26 }
第三に、シンプルなディレクトリの操作
1つ の#import <ファンデーション/ Foundation.h> 2 3 int型のmain(int型 ARGC、CONST のchar *のARGV []) 4 { 5 6 @autoreleasepool { 7 NSStringの* NEWDIR = @ " NEWDIR " 。 8 NSStringの* 電流経路; 9 NSFileManager * FM = [NSFileManager defaultManager]。 10 11 // 获取当前路径 12 電流経路= [FM currentDirectoryPath]。 13 のNSLog(@」\ nCurrentpathはIS:\ N- @%" 、電流経路); 14 15 // カレントディレクトリ内に新しいディレクトリを作成 16を IF([FM createDirectoryAtPath:NEWDIR withIntermediateDirectories:TRUE属性:なしエラー:NULL] == NO){ 17 のNSLog(@ " \ nCouldn'tは...ディレクトリレコード生成" ); 18が 戻り 0 ; 19 } 20である 21である // パス名変更 22である IF([FM moveItemAtPath:NEWDIR toPath:@ " changeDir "エラー:NULL] == NO) { 23 のNSLog(@ "\ nChangeディレクトリ名が失敗" ); 24 リターン 2 ; 25 } 26 27 // 更改当前路径 28 であれば([FMのchangeCurrentDirectoryPath:@" changeDir " ] == NO){ 29 のNSLog(@" \ nChangeカレントディレクトリが失敗」) ; 30 リターン 1 ; 31 } 32 のNSLog(@ " \カレントディレクトリを変更nAfter ..... " ); 33 電流経路=【FM currentDirectoryPath]。 34 のNSLog(@ " \ nCurrentpathである:\ n%の@ " 、電流経路)。 35 } 36 リターン 0 。 37 }
ます。https://www.cnblogs.com/pretty-guy/p/3957603.htmlで再現