Objective-C檔案處理

2019-10-16 23:14:55

使用NSFileManager類可以進行檔案處理,這些範例不適用於線上編譯器。

檔案處理中使用的方法

下面列出了用於存取和操作檔案的方法列表。 在這裡,必須將FilePath1FilePath2FilePath字串替換為所需的完整檔案路徑,以獲得所需的操作。

1. 檢查檔案是否存在於路徑中

NSFileManager *fileManager = [NSFileManager defaultManager];

//Get documents directory
NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [directoryPaths objectAtIndex:0];

if ([fileManager fileExistsAtPath:@""] == YES) {
   NSLog(@"File exists");
}

2. 比較兩個檔案內容

if ([fileManager contentsEqualAtPath:@"FilePath1" andPath:@" FilePath2"]) {
   NSLog(@"Same content");
}

3. 檢查是否可寫,可讀和可執行

if ([fileManager isWritableFileAtPath:@"FilePath"]) {
   NSLog(@"isWritable");
}

if ([fileManager isReadableFileAtPath:@"FilePath"]) {
   NSLog(@"isReadable");
}

if ( [fileManager isExecutableFileAtPath:@"FilePath"]) {
   NSLog(@"is Executable");
}

4. 移動檔案

if([fileManager moveItemAtPath:@"FilePath1" 
   toPath:@"FilePath2" error:NULL]) {
      NSLog(@"Moved successfully");
}

5. 複製檔案

if ([fileManager copyItemAtPath:@"FilePath1" 
   toPath:@"FilePath2"  error:NULL]) {
      NSLog(@"Copied successfully");
   }

6. 刪除檔案

if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
   NSLog(@"Removed successfully");
}

7. 讀取檔案

NSData *data = [fileManager contentsAtPath:@"Path"];

8. 寫入檔案

[fileManager createFileAtPath:@"" contents:data attributes:nil];

前面已成功學習了各種檔案存取和操作技術,現在你應該對檔案進行各種操作以及檔案的使用所有了解。