iphone 檔案操作

2021-06-04 15:30:26 字數 4273 閱讀 8458

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 ...