iPhoneアプリ開発 ファイル書き込み
iPhoneアプリ開発につきまして、質問させて頂きます。
csvファイルへのデータの出力を試みているのですが上手くできません。
プログラムとログ内容を以下に記述しました。
「abc」と予め書いてある「hoge.csv」ファイルに「stringaaaaaaaaaaa」を書き込み保存しておきたいのですが、上手くいきません。
ログ内容を見る限り、「abc」が読み込めているので、パスは合っていると思っています。また、writeToFileをしてから読み込むと「stringaaaaaaaaaaa」が読み込めるため、どこかには書き込めているような気がします。
しかし、毎回同じ処理をしても、最初に読み込まれるのは「abc」です。「hoge.csv」をテキストエディタで読み込んでも表示されるのは「abc」です。
また、iPhoneシミュレーターで実行した結果は以下のログ内容なのですが、iPhone実機で動作させると、writeToFileを行ったあとでも「abc」が出力されます。
何か原因を思い当たる方、教えて頂ければ幸いです。
- (void)viewDidLoad {
[super viewDidLoad];
[self setTitle:@"Stress Application"];
printf("viewdidload");
NSString *text = [[NSString alloc] initWithFormat:@"stringaaaaaaaaaaaaaaa"];
NSString *_path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"csv"];
//atomicallyは補助ファイルを使ってファイルの破損を防止するかどうか
NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]);
[text writeToFile:_path atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",[NSString stringWithContentsOfFile:_path encoding:NSUTF8StringEncoding error:nil]);
NSLog(@"%@",text);
}
<ログ内容>
2012-10-31 12:35:10.187 ThinkGearTouch[17182:1a903] FinishLaunching
viewdidload2012-10-31 12:35:10.204 ThinkGearTouch[17182:1a903] abc
2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa
2012-10-31 12:35:10.212 ThinkGearTouch[17182:1a903] stringaaaaaaaaaaaaaaa
お礼
検索してみて、 http://blogs.yahoo.co.jp/batxye/19101193.html http://ameblo.jp/mattmatsui/entry-10416724864.html を見つけ、何らかのファイル操作できたつもりです。ただ納得できないのは、開発プロジェクトのフォルダ直下に、CSVファイルを作成して設置してあるデータをどうやって、シュミレーターや実機の中に組み込むのかがわからなくて、もう少し細かい手順が知りたいのです。 SAYKAさん、アドバイスありがとうございます。