1
2、documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過:
nsarray
*paths
=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring
*documentsdirectory
=[paths objectatindex:
0];
得到。3
、tmp 目錄我們可以在裡面寫入一些程式執行時需要用得資料,裡面寫入的資料在程式退出後會沒有。
可以通過nsstring
*nstemporarydirectory(
void
); 方法得到;
4、檔案一些主要操作可以通過nsfilemanage 來操作,可以通過 [nsfilemanger defaultmanger] 得到它的例項。
a)建立乙個目錄:比如要在documents下面建立乙個test目錄,
nsarray
*paths
=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring
*documentsdirectory
=[paths objectatindex:
0];
nslog(@」
%@」,documentsdirectory);
nsfilemanager
*filemanage
=[nsfilemanager defaultmanager];
nsstring
*mydirectory
=bool ok
=[filemanage createdirectoryatpath:mydirectory attributes:nil];
b)取得乙個目錄下得所有檔名:(如上面的mydirectory)可用
nsarray
*file
=[filemanager subpathsofdirectoryatpath: mydirectory error:nil];
或 nsarray
*files
=[filemanager subpathsatpath: mydirectory ];
c)讀取某個檔案:
nsdata
*data
=[filemanger contentsatpath:myfilepath];//
myfilepath是包含完整路徑的檔名或直接用nsdata 的類方法:
nsdata
*data
=[nsdata datawithcontentofpath:myfilepath];
d)儲存某個檔案:
可以用 nsfilemanager的
-(bool)createfileatpath:(nsstring
*)pathcontents:(nsdata
*)data attributes:(nsdictionary
*)attr;
或 nsdata 的
-(bool)writetofile:(nsstring
*)path atomically:(bool)useauxiliaryfile;
-(bool)writetofile:(nsstring
*)path options:(nsuinteger)writeoptionsmask error:(nserror
**)errorptr;
nsfilemanager中包含了用來查詢單詞庫目錄、建立、重新命名、刪除目錄以及獲取
/設定檔案屬性的方法(可讀性,可編寫性等等)。
每個程式都會有它自己的沙盒,通過它你可以閱讀
/編寫檔案。寫入沙盒的檔案在程式的程序中將會保持穩定,即便實在程式更新的情況下。
//result is: /documents/file1.txt
nsstring
*filepath=@"
file1.txt
"];
//需要寫入的字串
//寫入檔案
[str writetofile:filepath atomically:yes encoding:nsutf8stringencoding error:
&error];
//顯示檔案目錄的內容
nslog(
@"documentsdirectory: %@
", [filemgr contentsofdirectoryatpath:documentsdirectoryerror:
&error]);
e)對乙個檔案重新命名
想要重新命名乙個檔案,我們需要把檔案移到乙個新的路徑下。下面的**建立了我們所期望的目標檔案的路徑,然後請求移動檔案以及在移動之後顯示檔案目錄。
//通過移動該檔案對檔案重新命名
nsstring
*filepath2 =@"
file2.txt
"];
//判斷是否移動
if([filemgr moveitematpath:filepath topath:filepath2 error:
&error]
!=yes)
nslog(
@"unable to move file: %@
", [error localizeddescription]);
f)刪除乙個檔案
//在filepath2中判斷是否刪除這個檔案
if([filemgr removeitematpath:filepath2 error:
&error]
!=yes)
nslog(
@"unable to delete file: %@
", [error localizeddescription]);
在開發iphone程式時,有時候要對檔案進行一些操作。而獲取某乙個目錄中的所有檔案列表,是基本操作之一。
通過下面這段**,就可以獲取乙個目錄內的檔案及資料夾列表。
nsfilemanager
*filemanager
=[nsfilemanager defaultmanager];
//在這裡獲取應用程式documents資料夾裡的檔案及資料夾列表
nsarray
*documentpaths
=nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);
nsstring
*documentdir
=[documentpaths objectatindex:
0];
nserror
*error
=nil;
nsarray
*filelist
=[[nsarray alloc] init];
//filelist便是包含有該資料夾下所有檔案的檔名及資料夾名的陣列
filelist
=[filemanager contentsofdirectoryatpath:documentdir error:
&error];
以下這段**則可以列出給定乙個資料夾裡的所有子資料夾名
nsmutablearray
*dirarray
=[[nsmutablearray alloc] init];
bool isdir
=no;
//在上面那段程式中獲得的filelist中列出資料夾名
for(nsstring
*file
infilelist)
isdir
=no;
} nslog(
@"every thing in the dir:%@
",filelist);
nslog(
@"all folders:%@
",dirarray);
iphone檔案操作
如何在iphone os下建立 刪除 讀取 寫入檔案 建立與刪除 建立檔案管理器 nsfilemanager filemanager nsfilemanager defaultmanager 獲取路徑 引數nsdocumentdirectory要獲取那種路徑 nsarray paths nssear...
iPhone檔案讀寫操作
iphone開發 建立 讀取 寫入檔案 想來相去應該做乙個備忘錄,開始想用文件,但是最近系統更換頻繁macos windows檔案格式不好定義,攜帶還不方便,於是想起了這個東東,真是人類的服氣啊.今天的東西是如何在iphone os下建立 刪除 讀取 寫入檔案 建立與刪除 建立檔案管理器 nsfil...
iPhone之檔案操作
iphone之檔案操作 今天我們介紹iphone的檔案操作,包括建立,瀏覽,修改,刪除等。2.為了安全,每個 iphone 程式都只能操作它專屬的那個資料夾中的檔案 即sandbox 因此首先我們要確定對應的模擬器中的資料夾路徑。可以通過下面的方法獲得 為 fileviewcontroller.m ...