2012-01-16 80 views
6

我試圖打開一個文件寫入它。該文件可能不存在。iOS創建文件

我發現如果文件不存在,我發現[NSFileHandle fileHandleForWritingAtPath:filePath]返回nil。 已經用Google搜索,我發現代碼片段這樣

[[NSData data] writeToFile:filePath atomically:YES] 

其中,我猜,確保在打開之前文件所有腦幹。

我的問題是:後面的代碼行推薦文件創建的方式嗎? NSFileHandle沒有創建新文件的例程(只能處理現有文件)似乎很奇怪。

回答

14

NSFileHandle可能沒有創建文件的方法,但NSFileManager有一個。你看過那門課嗎?然而

這工作對我很好,請注意,每次都會

NSString *cachesFolder = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]; 
NSString *file = [cachesFolder stringByAppendingPathComponent:@"testfile"];  
[[NSData data] writeToFile:file options:NSDataWritingAtomic error:nil]; 
+0

什麼錯誤覆蓋相同的文件。我忽略了NSFileManager。無論如何,感謝你的努力。 – Nick 2012-01-16 13:59:22