IOS 檔案目錄的擷取與操作

來源:互聯網
上載者:User

標籤:

 

iphone沙箱模型的有四個檔案夾,分別是什麼,永久資料存放區一般放在什麼位置,得到模擬器的路徑的簡單方式是什麼.documents,tmp,app,Library。(NSHomeDirectory()),手動儲存的檔案在documents檔案裡Nsuserdefaults儲存的檔案在tmp檔案夾裡 
1、Documents 目錄:一般用來存放應用中建立的檔案,如資料庫檔案,或程式中瀏覽到的檔案資料。如果進行備份會將此檔案夾中的檔案包括其中。2、AppName.app 目錄:這是應用程式的程式包目錄,包含應用程式的本身。由於應用程式必須經過簽名,所以您在運行時不能對這個目錄中的內容進行修改,否則可能會使應用程式無法啟動。3、Library 目錄:這個目錄下有兩個子目錄:Caches 和 PreferencesPreferences 目錄:包含應用程式的喜好設定檔案。您不應該直接建立喜好設定檔案,而是應該使用NSUserDefaults類來取得和設定應用程式的偏好.Caches 目錄:用於存放應用程式專用的支援檔案,儲存應用程式再次啟動過程中需要的資訊。4、tmp 目錄:這個目錄用於存放臨時檔案,儲存應用程式再次啟動過程中不需要的資訊。// 擷取這些目錄路徑的方法:// 擷取家目錄路徑的函數:NSString *homeDir = NSHomeDirectory();// 擷取Documents目錄路徑的方法:NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString *docDir = [paths objectAtIndex:0];// 擷取Caches目錄路徑的方法:NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);NSString *cachesDir = [paths objectAtIndex:0];// 擷取tmp目錄路徑的方法:NSString *tmpDir = NSTemporaryDirectory();// 擷取應用程式程式包中資源檔路徑的方法:// 例如擷取程式包中一個圖片資源(apple.png)路徑的方法:NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];// 代碼中的mainBundle類方法用於返回一個代表應用程式套件組合的對象。1、常見的NSFileManager檔案方法-(NSData *)contentsAtPath:path  //從一個檔案讀取資料-(BOOL)createFileAtPath: path contents:(NSData *)data attributes:attr  //向一個檔案寫入資料-(BOOL)removeItemAtPath:path error:err  //刪除一個檔案-(BOOL)moveItemAtPath:from toPath:to error:err  //重新命名或者移動一個檔案(to不能是已存在的)-(BOOL)copyItemAtPath:from toPath:to error:err  //複製檔案(to不能是已存在的)-(BOOL)contentsEqualAtPath:path andPath:path2  //比較兩個檔案的內容-(BOOL)fileExistAtPath:path  //測試檔案是否存在-(BOOL)isReadableFileAtPath:path  //測試檔案是否存在,並且是否能執行讀操作  -(BOOL)isWriteableFileAtPath:path  //測試檔案是否存在,並且是否能執行寫操作  -(NSDictionary *)attributesOfItemAtPath:path error:err  //擷取檔案的屬性  -(BOOL)setAttributesOfItemAtPath:attr error:err  //變更檔的屬性2.使用目錄-(NSString *)currentDirectoryPath  //擷取目前的目錄-(BOOL)changeCurrentDirectoryPath:path  //更改目前的目錄-(BOOL)copyItemAtPath:from toPath:to error:err  //複製目錄結構(to不能是已存在的)-(BOOL)createDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attribute:attr  //建立一個新目錄-(BOOL)fileExistAtPath:path isDirectory:(BOOL*)flag  //測試檔案是不是目錄(flag中儲存結果YES/NO)-(NSArray *)contentsOfDirectoryAtPath:path error:err  //列出目錄內容-(NSDirectoryEnumerator *)enumeratorAtPath:path  //枚舉目錄的內容-(BOOL)removeItemAtPath:path error:err  //刪除空目錄-(BOOL)moveItemAtPath:from toPath:to error:err   //重新命名或移動一個目錄(to不能是已存在的)3、常用路徑工具方法+(NSString *)pathWithComponens:components  //根據components中的元素構造有效路徑-(NSArray *)pathComponents  //析構路徑,獲得組成此路徑的各個部分-(NSString *)lastPathComponent  //提取路徑的最後一個組成部分-(NSString *)pathExtension  //從路徑的最後一個組成部分中提取其副檔名-(NSString *)stringByAppendingPathComponent:path  //將path添加到現有路徑的末尾-(NSString *)stringByAppendingPathExtension:ext  //將指定的副檔名添加到路徑的最後一個組成部分-(NSString *)stringByDeletingLastPathComponent  //刪除路徑的最後一個組成部分-(NSString *)stringByDeletingPathExtension  //從檔案的最後一部分刪除副檔名-(NSString *)stringByExpandingTileInPath   //將路徑中代字元擴充成使用者主目錄(~)或指定使用者的主目錄(~user)-(NSString *)stringByresolvingSymlinksInPath  //嘗試解析路徑中的符號連結-(NSString *)stringByStandardizingPath  //通過嘗試解析~、..(父目錄符號)、.(目前的目錄符號)和符號連結來標準化路徑4、常用的路徑工具函數NSString* NSUserName(void)  //返回目前使用者的登入名稱NSString* NSFullUserName(void)  //返回目前使用者的完整使用者名稱NSString* NSHomeDirectory(void)  //返回目前使用者主目錄的路徑NSString* NSHomeDirectoryForUser(NSString* user)  //返回使用者user的主目錄NSString* NSTemporaryDirectory(void)  //返回可用於建立臨時檔案的路徑目錄5、常用的IOS目錄Documents(NSDocumentDirectory)  //用於寫入應用相關資料檔案的目錄,在ios中寫入這裡的檔案能夠與iTunes共用並訪問,儲存在這裡的檔案會自動備份到雲端Library/Caches(NSCachesDirectory)  //用於寫入應用支援檔案的目錄,儲存應用程式再次啟動需要的資訊。iTunes不會對這個目錄的內容進行備份tmp(use NSTemporaryDirectory())  //這個目錄用於存放臨時檔案,只程式終止時需要移除這些檔案,當應用程式不再需要這些臨時檔案時,應該將其從這個目錄中刪除Library/Preferences  //這個目錄包含應用程式的喜好設定檔案,使用 NSUserDefault類進行喜好設定檔案的建立、讀取和修改

 

IOS 檔案目錄的擷取與操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.