ios 沙盒檔案建立,讀取,寫入,刪除封裝

2022-09-22 05:33:08 字數 1716 閱讀 3938

注:沙盒寫入log的話 xcode只能在debug模式下才能整體匯出讀取內容,線上release版本是沒有許可權匯出讀取的,release版本日誌可以使用idevicesyslog mac配合讀取

1.建立

nsstring *pathdocuments = [self documentsdir]; //

獲取沙盒documents目錄

//要建立的資料夾,與檔案

nsstring *loginfo = [nsstring stringwithformat:@"

%@/tasklog/%@

", pathdocuments,[mainscheme getnowdate]];

nsstring *loginfofile = [nsstring stringwithformat:@"

%@/tasklog/%@/%@.txt

", pathdocuments,[mainscheme getnowdate],deviceid];

nslog(

@"createpath = %@

",loginfofile);

//判斷資料夾是否存在,如果不存在,則建立

if (![[nsfilemanager defaultmanager] fileexistsatpath:loginfo])

else

+ (nsstring *)documentsdir

2.寫入追加

nsfilehandle *filehandle = [nsfilehandle filehandleforwritingatpath:loginfofile]; //

獲取對檔案寫入的許可權

[filehandle seektoendoffile]; //

可以操作游標到檔案內容的末尾。這樣就可以在內容後面進行再一次新增啦

nsstring *loginfodata = [nsstring stringwithformat:@"

%@ serverkey ->  %@  , original task : %@ \n

", [dataorig objectforkey:@"

deviceid

"],[dataorig objectforkey:@"

serverkey

"],[dataorig objectforkey:@"

data

"]];

nsdata * writedatas =[loginfodata datausingencoding:nsutf8stringencoding];

[filehandle writedata:writedatas];

//在檔案末尾寫入資料

[filehandle closefile];

3.讀取

+(nsstring *)readfiledata:(nsstring *)filepath

4.刪除

+ (bool)removeitematpath:(nsstring *)path

5.資料夾遍歷

+ (nsarray *)listfilesindirectoryatpath:(nsstring *)path deep:(bool)deep 

else

}else

else

}return

listarr;

}

iOS 獲取沙盒檔案路徑及 寫入 刪除 沙盒檔案

一 沙盒中幾個主要的目錄 每個沙盒下面都有相似的目錄結構,如下圖所示 出自蘋果官方文件 每個應用的沙盒目錄都是相似的,主要包含圖中所示的4個目錄 存放內容 該目錄包含了應用程式本身的資料,包括資源檔案和可執行檔案等。程式啟動以後,會根據需要從該目錄中動態載入 或資源到記憶體,這裡用到了lazy lo...

件 寫入 沙盒 刪除檔案

把 寫入 沙盒 void photofile 此處的方法是將寫到documents檔案中 如果寫入成功會彈出乙個警告框,提示儲存成功 nsstring strpathold nsbundle mainbundle pathforresource pin oftype png nsdata data ...

iOS沙盒機制 物件寫入及讀取

1 沙盒機制 1 獲取沙盒路徑 2 沙盒中有三個資料夾 懂得如何獲取其路徑 documents 儲存使用者資料,需要備份的資訊 library caches 儲存快取檔案,程式專用的支援檔案 library preferences 儲存程式的偏好設定檔案 2 物件檔案的寫入和讀取 nsstring ...