管理檔案和目錄 NSFileManager

2021-08-20 14:57:29 字數 1518 閱讀 3677

檔案或目錄是使用檔案的路徑名的唯一標識。相對路徑是相對於當前目錄的路徑名,每個路徑名都是乙個nsstring物件,它既可以是相對路徑,也可以是完整的路徑。

完整路徑也稱為絕對路徑,以斜線/開始,斜線實際上就是乙個目錄,為根目錄。

特殊的代字元作為使用者主目錄的縮寫。~linda表示 使用者linda主目錄的縮寫,這個目錄的路徑可能是/user/linda。

單個代字元表示當前使用者的主目錄,路徑名 ~/copy1.m會 引用儲存在當前使用者主目錄中的檔案copy1.m。

/  基本的檔案操作

//假定存在乙個名為testfile檔案,內容如下:

//this is a test file with some data in it.here is a another line of data.and a third.

// created by 強淑婷 on 2018/6/10.

//#import int main(int argc, const char * argv)

//建立乙個副本

if([fm copyitematpath: fname topath: @"newfile" error: null] ==no)

//測試兩個檔案是否一致

if([fm contentsequalatpath: fname andpath: @"newfile"] == no)

//重新命名副本

if([fm moveitematpath: @"newfile" topath: @"newfile2" error: null] == no)//可以用來將檔案從乙個目錄移到另乙個目錄中(也可以用來移動整個目錄)。如果兩個路徑引用同一目錄的檔案,其結果僅僅是重新命名這個檔案。如本例

//獲取newfile2的大小

if((attr = [fm attributesofitematpath: @"newfile2" error :null]) == nil)

nslog(@"file size is %llu bytes", [[attr objectforkey: nsfilesize] unsignedlonglongvalue]);

//最後刪除原始檔案

if([fm removeitematpath: fname error: null] == no)

nslog(@"all operations were successful");

//顯示新建立的檔案內容

nslog(@"%@", [nsstring stringwithcontentsoffile: @"newfile2" encoding:nsutf8stringencoding error: null]);//將檔案中的內容讀入乙個字串物件,encoding引數指定檔案中的字元資料如何表示。可供選擇的引數定義在nsstring.h標頭檔案中。使用nsutf8stringencoding可說明檔案包含常規的utf8ascii字元。 }

return 0;

}//在執行複製,重新命名或移動操作時,目標檔案不能是已存在的,否則操作將失敗。

檔案和目錄管理

mkdir 建立目錄 mkdir p 級聯建立目錄 rm 刪除檔案和目錄 rm r 刪除目錄用的選項 rm rf 強制刪除不提示 慎用 cp 複製檔案或目錄 copy的簡寫 cp option 檔案 目地檔案 cp r 複製目錄需要加 r mv 移動檔案或目錄 move的簡寫 mv 檔案 目地檔案 ...

檔案和目錄管理

1 檔案與其元資料 struct stat 下面是通過stat呼叫獲得檔案資訊,eg int main fstat和stat的不同之處是呼叫的時候引數是檔案描述符,下面程式判斷檔案是否位於乙個物理裝置,eg int main 可以通過chmod fchmod 設定檔案所屬的使用者,eg int ma...

linux檔案和目錄管理

cd 相對路徑 絕對路徑 用途 變更當前目錄,cd是change directory的縮寫 例 cd 回到上層目錄 cd home 相對路徑的寫法 cd var www html絕對路徑的寫法 cd 回到使用者的根目錄 cd 回到使用者的根目錄 cd loki 回到使用者loki的根目錄 pwd 用...