天天看點

了解iPhone應用程式中App目錄結構

zz: http://mobile.51cto.com/iphone-279434.htm

了解iPhone應用程式中App目錄結構是本文要介紹的内容,不多說,直接進入内容。iPhone的App的目錄結構如下:

了解iPhone應用程式中App目錄結構

對于一個運作在iPhone得app,它隻能通路自己根目錄下得一些檔案(所謂sandbox).

一個app釋出到iPhone上後,它得目錄結構如下:

1、其中得app root可以用 NSHomeDirectory() 通路到;

2、Documents 目錄就是我們可以用來寫入并儲存檔案得地方,一般可通過:

  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  
  2. NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; 

得到。

3、tmp 目錄我們可以在裡面寫入一些程式運作時需要用得資料,裡面寫入得資料在程式退出後會沒有。可以通過

  1. NSString *NSTemporaryDirectory(void);  

方法得到;

4、檔案一些主要操作可以通過NSFileManage 來操作,可以通過 [NSFileManger defaultManger] 得到它得執行個體。

相關得一些操作:

建立一個目錄:比如要在Documents下面建立一個test目錄,

  1. NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);   
  2. NSString *documentsDirectory = [paths objectAtIndex:0];   
  3. NSLog(@”%@”,documentsDirectory);  
  4. NSFileManager *fileManage = [NSFileManager defaultManager];  
  5. NSString *myDirectory = [documentsDirectory stringByAppendingPathComponent:@“test”];  
  6. BOOL ok = [fileManage createDirectoryAtPath:myDirectory attributes:nil]; 

取得一個目錄下得所有檔案名:(如上面的myDirectory)可用

  1. NSArray *file = [fileManager subpathsOfDirectoryAtPath: myDirectory error:nil];  

  1. NSArray *files = [fileManager subpathsAtPath: myDirectory ];  

讀取某個檔案:

  1. NSData *data = [fileManger contentsAtPath:myFilePath]; 

//myFilePath是包含完整路徑的檔案名

或直接用NSData 的類方法:

  1. NSData *data = [NSData dataWithContentOfPath:myFilePath];  

儲存某個檔案:

可以用 NSFileManager的

  1. - (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;  

或 NSData 的

  1. - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;   
  2. - (BOOL)writeToFile:(NSString *)path options:(NSUInteger)writeOptionsMask error:(NSError **)errorPtr;  

小結:了解iPhone應用程式中App目錄結構的内容介紹完了,想本文對你有所幫助!