2013-05-01 163 views
2

我正嘗試刪除iOS的內容文本文件。清除文件的內容

或者,我可以刪除該文件,然後在沒有內容的情況下重新創建它。

對於此解決方案,我知道我可以使用[fileManager removeItemAtPath:filePath error:&error];刪除文件。重新創建文件對我來說很難。

我就好使用下面的代碼查找文件:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"myFile.txt"]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 

if([fileManager fileExistsAtPath:filePath]) 
{ 
    [fileManager removeItemAtPath:filePath error:&error]; 
} 

//code to recreate the same file, just with no content 
+1

如果你嘗試'會發生什麼 - [createFileAtPath:路徑內容:[NSData數據]屬性:無]'? – Mar0ux 2013-05-01 09:23:58

+0

我可能會嘗試這個,但我試圖創建一個沒有數據的空白文件。我可能只是發送一個空數據值的內容? – Johnrad 2013-05-01 09:25:45

+0

'[NSData data]'沒有數據。傳遞'nil'會導致錯誤。 – Mar0ux 2013-05-01 09:26:27

回答

3

嘗試

-[[NSFileManager defaultManager] createFileAtPath:path contents:[NSData data] attributes:nil] 
+0

它的工作原理。謝謝! – Johnrad 2013-05-01 09:57:41

2

對於斯威夫特

NSFileManager.defaultManager().createFileAtPath(path, contents: nil, attributes: nil)