2010/01/13

[Objective-C][iPhone sdk]Documents内にテキストファイルを書き出す

前回に引き続き、やっとこさ、Documents内にファイルを出力する方法がわかったので、まとめてみようかなと。

リファレンスでは、バイナリデータでファイルを保存する方法が記載されていましたが、テキストファイルでの保存方法がなかったので、今回はテキスト形式でファイルを保存する方法について書きたいと思います。

//ホームディレクトリ直下にあるDocumentsフォルダを取得する
NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory
, NSUserDomainMask
, YES
);
NSString *dataPath = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"hoge"];

//ファイルが存在しない場合(初回ロード時のみに使われる)
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]) {
  //ファイルを作成する
  NSString *temp = @"任意の文字列";
  [temp writeToFile:dataPath atomically:NO
  encoding:NSUTF8StringEncoding
  error:nil
  ];
}

上のプログラムは、Documentsフォルダ内にhogeファイルの検索を行い、ファイルが存在しない場合のみ、hogeファイルを作成し、文字列(変数:temp)をhogeファイルに書き出す処理を書いています。

最初、「hoge.txt」というように拡張子をつけて書いていたのですが、実行結果を確認したところ、フォルダができてしまい、テキストファイルができなかったので、拡張子をなくしたらうまくファイル作成できました。

ファイル作成及び、writeToFileメソッドで行っています。

これでやっとテキストファイルによる書き出しができるようになりました。

単一のデータ保存の場合は、これで困る事ないぞと。

0 コメント:

コメントを投稿