IOS總結_IOS文件系統

概述

     bundle(沙盒):一個應用只能在自己的沙盒中讀取或存儲文件,而不能操作其他沙盒中的文件。好處:保護應用的隱私不受侵犯,保護系統文件的安排,應用刪除後相關文件也能被全部清除。


    每個應用都有自己的沙盒,沙盒的根目錄的獲取方法是NSHomeDirectory()。


    根目錄下的內容:
         .app文件,實際上是一個文件夾,包含了可執行文件、Nib文件、圖片資源、plist等。XCode中能看到的資源,及編譯後的可執行文件,都封裝在app中。


        Documents文件夾,用於存放你的應用所產生的數據,該文件夾可通過iTunes備份,可以存儲遊戲進度等。


        Library文件夾,用於存放用戶偏好和臨時文件。


        tmp文件夾是系統的中轉站。

文件管理器
     NSFileManager,defaultManager()返回一個文件管理器的對象(在多線程下不安全)。

在多線程編程中應儘量使用init()。


      代理方法:-fileManager:shouldRemoveItemAtPath和-fileManager:shouldRemoveItemAtURL在移除操作之前被調用。


    -removeItemAtPath:error:刪除位於指定路徑的文件、連接、目錄(及其所有子目錄、文件)。


    -removeItemAtURL:error:同上。


    -contentOfDirectoryAtPath:查找所有位於給定路徑的子路徑和文件。返回值爲一個數組,其中包含了NSString對象。查找只在當前目錄進行,不會進入下一層目錄。


    -subpathsAtPath:查找給定路徑下的所有子路徑,返回一個數組, 深度查找,不限於當前層,也會查找package的內容。


    -fileExistsAtPath:判斷文件是否位於一個路徑下面。


    -isReadableFileAtPath:查詢文件的可讀性

    -isWritableFileAtPath:可寫性

    -isExecutableFileAtPath:查詢文件的可執行性

    -isDeletableFileAtPath:可刪除性


NSString的路徑功能


    -pathWithComponent:參數是一堆components構成的數組,返回的路徑是由這些components連接而成的路徑字符串,相鄰components之間用/隔開。


    -pathComponents:返回一個數組,包含路徑中的components。


    -fileSystemRepresentation:返回C字符串
    -isAbsolutePath:判斷是否爲絕對路徑
    -pathExtension:返回文件的擴展名,沒有的就返回空字符串


    -stringByAppendingPathComponents :向現有路徑添加一個component。斜槓/會被自動加上
    -stringByAppendingPathExtension:向現有路徑加上文件的擴展名
    -stringByDeletingLastPathComponent:移除最後一個路徑component
    -stringByDeletingPathExtension:刪除路徑擴展名
    -stringByAppendingPaths:參數爲一個數組,此方法將數組中的字符串對象作爲路徑一次添加到源字符串後面。

EG:

NSString *homePath = NSHomeDirectory(); 

NSString *docPath = [homePath stringByAppendingFormat:@"/Documents"]; 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章