下面**中的措施 適用於nsfilemanager這類物件,可以用來進行 目錄操作:
措施名稱描述
-(nsstring *)currentdirectorypath
獲取當前目錄的路徑
-(bool)changecurrentdirectorypath:path
將當前目錄的路徑更換到path
-(bool)copypath:from topath:to handler:handler
將目錄from複製到to,to所代表的目錄不能事先存在
-(bool)createdirectoryatpath:path attributes:attr
建立乙個新目錄
-(bool)fileexistsatpath:path isdirectory:(bool *)flag
檢查path是否是目錄
-(nsarray *)directorycontentsatpath:path
將目錄內容列舉出來
-(nsdirectoryenumerator *)enumeratoratpath:path
列舉目錄內容
-(bool)removefileatpath:path handler:handler
刪除空目錄
-(bool)movepath:from topath:to handler:handler
重新命名或者移動目錄,to代表的目錄不能事先存在。
下面的程式 示範了 如何進行 基本的目錄操作:
[cpp]view plain
copy
#import
#import
#import
#import
intmain(
intargc,
const
char
*argv)
//將新建的目錄重新命名為newdirectory
if([myfilemanager movepath:directoryname topath:@
"newdirectory"
handler:nil]==no)
//將當前目錄由可執行檔案所在目錄更換到newdirectory這個目錄
if([myfilemanager changecurrentdirectorypath:@
"newdirectory"
]==no)
//將更換後的當前目錄路徑顯示出來,以驗證操作是否成功e
path=[myfilemanager currentdirectorypath];
nslog(@"當前目錄路徑為:%@"
,path);
nslog(@"所有操作成功完成。"
);
[pool drain];
return
0;
}
執行 這個程式後,可以得到 這樣的結果:
2012-05-10 13:54:52.615 sample[1256:707] 當前目錄路徑為:/users/zijin/library/developer/xcode/deriveddata/sample-bwtvtehg***kzgaqfkwvluuhrhso/build/products/debug
2012-05-10 13:54:52.618 sample[1256:707] 當前目錄路徑為:/users/zijin/library/developer/xcode/deriveddata/sample-bwtvtehg***kzgaqfkwvluuhrhso/build/products/debug/newdirectory
2012-05-10 13:54:52.619 sample[1256:707] 所有操作成功完成。
program ended with exit code: 0
在可執行檔案所在的目錄當中,我們 可以看到 這樣的情況:
(丟失。。。)
在這個程式當中
1path=[
myfilemanager
currentdirectorypath];
這行語句 對 myfilemanager這個物件 採取了 currentdirectorypath這項措施,將 當前目錄的路徑 作為結果 儲存 在變數path當中。接著 將 當前目錄的路徑 顯示出來。然後 1[
myfilemanager
createdirectoryatpath
:directoryname
attributes
:nil]
這行語句 對 myfilemanager這個物件 採取了 createdirectoryatpath:attributes:這項措施,建立了 乙個新的目錄,而 目錄的名稱 則為 引數directoryname中設定的mydirectory。
接著的 1
[myfilemanager
movepath
:directoryname
topath
:@"newdirectory"
handler
:nil
]
這行語句 對 myfilemanager這個物件 採取了 movepath:topath:handler:這項措施,將 第乙個引數代表的目錄 移動 到當前的目錄,並且 命名為 newdirectory。由於 移動的目標目錄 就是 當前目錄,所以 這行語句 就是 給 目錄 重新命名。
movepath:topath:handler:這項措施 也可以將 整個目錄(包括 其中的內容)從檔案系統中的乙個位置 移動 到另外乙個位置。
最後的 1[
myfilemanager
changecurrentdirectorypath
:@"newdirectory"]
這行語句 對myfilemanager這個物件 採取了 changecurrentdirectorypath:這項措施,將 當前目錄 由可執行檔案所在的目錄 更換為 引數中的newdirectory這個目錄。
freecplus框架 目錄操作
目錄本文介紹的是freecplus框架的目錄操作函式和類。函式和類的宣告檔案是freecplus freecplus.h。函式和類的定義檔案是freecplus freecplus.cpp。示例程式位於freecplus demo目錄中。編譯規則檔案是freecplus demo makefile。...
目錄檔案操作
一 在不使用mfc的程式中獲得某個目錄下的所有檔名稱,包括子目錄。把檔名稱以乙個固定的程度放入乙個緩衝中,這個緩衝要足夠的大,能容下所有的檔名稱。函式的輸入為要查詢的根目錄,輸出為存放所有檔名稱的緩衝 演算法 使用遞迴 二 void findfileindir char rootdir,char s...
目錄檔案操作
include include dir opendir 目錄名字 成功時,返回乙個指向目錄檔案的指標,失敗時,返回null 同上 struct dirent readdir dir dir 成功時,返回乙個dirent結構體型別的指標,如果讀到末尾或失敗,返回null。int closedir di...