iPhone App獲取文件教程
iPhone App獲取文件教程是本文要介紹的內(nèi)容,對(duì)于一個(gè)運(yùn)行在iPhone得app,它只能訪問(wèn)自己根目錄下得一些文件(所謂sandbox).一個(gè)app發(fā)布到iPhone上后,它得目錄結(jié)構(gòu)如下:
1、其中得 app root 可以用 NSHomeDirectory() 訪問(wèn)到;
2、Documents 目錄就是我們可以用來(lái)寫入并保存文件得地方,一般可通過(guò):
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentsDirectory = [paths objectAtIndex:0];
得到。
3、tmp 目錄我們可以在里面寫入一些程序運(yùn)行時(shí)需要用得數(shù)據(jù),里面寫入得數(shù)據(jù)在程序退出后會(huì)沒有??梢酝ㄟ^(guò)
- NSString *NSTemporaryDirectory(void);
方法得到;
4、文件一些主要操作可以通過(guò)NSFileManage 來(lái)操作,可以通過(guò) [NSFileManger defaultManger] 得到它得實(shí)例。
相關(guān)得一些操作:
創(chuàng)建一個(gè)目錄: 比如要在Documents下面創(chuàng)建一個(gè)test目錄,
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
- NSString *documentsDirectory = [paths objectAtIndex:0];
- NSLog(@”%@”,documentsDirectory);NSFileManager *fileManage = [NSFileManager defaultManager];
- NSString *myDirectory = [documentsDirectory stringByAppendingPathComponent:@“test”];
- BOOL ok = [fileManage createDirectoryAtPath:myDirectory attributes:nil];
取得一個(gè)目錄下得所有文件名: (如上面的myDirectory)可用
- NSArray *file = [fileManager subpathsOfDirectoryAtPath: myDirectory error:nil];
- 或
- NSArray *files = [fileManager subpathsAtPath: myDirectory ];
讀取某個(gè)文件:
- NSData *data = [fileManger
- contentsAtPath:myFilePath];//myFilePath
是包含完整路徑的文件名
或直接用NSData 的類方法:
- NSData *data = [NSData dataWithContentOfPath:myFilePath];
保存某個(gè)文件:
可以用 NSFileManager的
- - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
或 NSData 的
- - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
- - (BOOL)writeToFile:(NSString *)path options:(NSUInteger)writeOptionsMask error:(NSError **)errorPtr;
小結(jié):iPhone App獲取文件教程的內(nèi)容介紹完了,希望本文呢對(duì)你有所幫助。