注:沙盒寫入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)deepelse
}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 ...