ファイル操作はNSFaileManager
取得方法
[NSFileManager defaultManager]
ホームディレクトリの取得方法
NSHomeDirectory()
iOSのディレクトリ構成
ホーム/Documents/
アプリで作ったファイルの保存場所。
UIFileSharingEnabled = YES でiTune経由でPC同期可能
ホーム/Library/Preferences/
設定情報等の保存場所。
iTunesでバックアップされる。
ホーム/Library/Caches/
キャッシュ、操作履歴等を保存する場所。
iTuneでバックアップされない。
ホーム/tmp
一時的情報の保存、アプリが動作していない時に消される可能性あり。
pathの作り方
NSSearchPathForDirectoriesInDomainsを使う。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *pathString = [path objectAtIndex:0];
引数の説明。
NSDocumentDirectory ファイル保存ディレクトリ
NSUserDomainMask ホームディレクトリ以下の
YES ~展開するか
もしくは簡単に
NSString *path = [[NSBundle mainBundle] pathForResource:@"hoge" ofType:@"txt"];
ファイルを保存/読み込み
テキストの読み込み/保存
読み込み
NSError *error = nil;
NSString *hoge = [NSString stringWithContentsOfFile:pathString
encoding:NSUTF8StringEncoding error:&error];
書き込み
NSError *error = nil;
[hogeString writeToFile:pathString atomically:YES encoding:NSUTF8StringEncoding error:&error];
atomicallyは予備ファイルを作るか。
ディレクトリの中身を調べたい
NSError *error;
[[NSFileManager defaultManager] contentsOfDirectoryAtPath:[fileOrDirURL path] error:&error];
directoryContentsAtPath:は10.5までしか使えない模様。
ファイル名の文字列が返ってくる。サブディレクトリの中身まで調べたければ- (NSArray *)subpathsAtPath:(NSString *)path;を用いる事。
また、まとめて- (NSDirectoryEnumerator *)enumeratorAtPath:(NSString *)path;で取得する方法もある。
最終更新:2012年09月05日 11:01