Objective-C ファイルに文字列を書き込み、保存する。


スポンサーリンク

Objective-Cでファイルを保存するためには、NSStringクラスのwriteToFileメソッドを使います。

NSString *message = @"File Operationg \nObjective-C \n";

[message writeToFile:@"/tmp/message.txt" atomically:YES encoding:NSUTF8StringEncoding error:NULL];

これを実行すると、/tmp以下にmessage.txtが作成されます。

$ cat /tmp/message.txt 
File Operationg 
Objective-C 

「atomically:」というのは、原始的かどうかという意味。
途中でエラーが発生した場合は、ファイルの書き込み自体をなかったことにします。

具体的には、atomically:YESを指定した場合は、一時ファイルにファイルの書き込みを行い、
ファイルの最後まで問題なく書き込めることを確認してから該当のファイルに書き込みを行います。

atomically:NOにした場合は、失敗した時に、中途半端な失敗ファイルが残ります。

encodingは文字通り、エンコーディングを指定します。

NSASCIIStringEncoding:ASCIIエンコード
NSUTF8StringEncoding:UTF-8
NSShiftJISStringEncoding:Shift-JIS
NSISO2022JPStringEncoding:ISO2022日本語
NSJapaneseEUCStringEncoding:EUC-JP

error:は書き込みエラーが発生した際に指定した引数のオブジェクトに情報が入ります。