寫入文件的一些函數是原子的,因此非常方便,因爲它們可以防止在寫入時發生文件損壞。追加NSString原子文件?
-[NSData writeToFile:atomically:]
-(BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
的問題是,他們刪除該文件,並用新內容取代它......我需要一個行只是追加到一個巨大的文件。
以原子方式做到這一點的最好方法是什麼,而不是冒着破壞該文件的風險發生?
PS:文件太大而無法在一個字符串中讀取它,更新字符串,然後將巨大的字符串推送到文件系統。
在此先感謝。
fsync的東西聽起來像我所需要的,謝謝!所以沒有與Objective-C等價的東西,就你所知,它必須是較老的C風格的函數? – MikaelW
您可以輕鬆添加一個類別來隱藏fsync工作。 –
看起來不錯,我會嘗試這種方法,謝謝! – MikaelW