>相對路徑:不以斜線開頭的路徑都是相對路徑。比如,abc.m代表的就是當前路徑嚇得abc.m檔案,再如:codes/test.m代表當前路徑下codes目錄下的test.m檔案。相對路徑要以「當前路徑」為基礎路徑,隨著當前路徑的不同,同乙個相對路徑實際代表的檔案可能發生變化,在終端視窗輸入pwd命令,即可看到當前路徑
>絕對路徑:以斜線(代表根目錄)開頭的路徑就是絕對路徑,絕對路徑是唯一的,他代表的檔案或者目錄總是固定的。比如:/user/abc,該目錄代表更目錄下uses目錄下的abc子目錄。
除此之外,在mac os x 中還包括如下幾個特殊的路徑。
1、~:代表當前使用者的home目錄。比如,當前使用者為abc,那麼「~」就代表/users/abc;還可以寫成~abc。
2、.:代表當前目錄
1、訪問檔案屬性和內容:
//輸出:// main.m
// nsfilemanager
//// created by xxt-imac on 16/2/3.
//#import int main(int argc, const char * argv)
//獲取檔案的相關屬性
nsdictionary *attrs = [fm attributesofitematpath:@"nsfilemanager" error:nil];
//獲取檔案的屬性的詳情
nslog(@"nsfilemanager的屬主賬戶:%@",[attrs fileowneraccountname]);
nslog(@"nsfilemanager:的檔案大小%llu",[attrs filesize]);
//直接獲取檔案內容
nsdata *data = [fm contentsatpath:@"nsfilemanager"];
//直接將nsdata的資料用utf-8的格式轉換字串
nsstring *content = [[nsstring alloc]initwithdata:data encoding:nsutf8stringencoding];
nslog(@"----------輸出檔案內容-----");
nslog(@"%@",content);
}return 0;
}
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是否存在:1
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager:是否存在1
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是否為目錄:0
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是可讀檔案:1
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是否為可寫檔案:1
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是否為可執行性檔案:1
2016-02-03 09:55:35.383 nsfilemanager[1074:422794] nsfilemanager是否為可刪除檔案:1
2016-02-03 09:55:37.197 nsfilemanager[1074:422794] --nsfilemanagertest.m所在路徑的完整路徑元件為:--
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] macintosh hd,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] 使用者,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] xxt,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] 資源庫,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] developer,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] xcode,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] deriveddata,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] nsfilemanager-fszedtoibnvnrablwjwjlukdpkfx,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] build,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] products,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] debug,
2016-02-03 09:55:37.198 nsfilemanager[1074:422794] nsfilemanager,
2016-02-03 09:55:37.199 nsfilemanager[1074:422794] nsfilemanager的屬主賬戶:xxt
2016-02-03 09:55:37.199 nsfilemanager[1074:422794] nsfilemanager:的檔案大小23984
2016-02-03 09:55:37.199 nsfilemanager[1074:422794] ----------輸出檔案內容-----
2016-02-03 09:55:37.199 nsfilemanager[1074:422794] (null)
program ended with exit code: 0
2、建立,刪除,移動,複製的操作
nsfilemanager為建立,山粗,移動,複製檔案或者目錄提供了許多方法。有根據路徑進行操作的,還有用url進行操作的,這裡我就拿路徑舉例子。
//建立目錄
[fm createdirectoryatpath:@"lyx/abc"
//該引數指定如果父目錄不存在,則建立父目錄
withintermediatedirectories:yes
attributes:nil
error:nil];
nsstring *contentt = @"我要好好學習";
//建立乙份檔案
[fm createfileatpath:@"hahahah.txt" contents:[contentt datausingencoding:nsutf8stringencoding] attributes:nil];
//複製乙份新檔案
[fm copyitematpath:@"hahahah.txt" topath:@"copy.txt" error:nil];
3、檢視目錄包含的內容
#import int main(int argc, const char * argv)
//獲取指定目錄下所有檔案和資料夾對應的列舉器
nsdirectoryenumerator *direnum = [fm enumeratoratpath:@"."];
nsstring *file;
//列舉direnum中包含的每個檔案
while (file = [direnum nextobject])
}//獲取當前目錄下的所有子目錄
// nsarray *subarr = [fm subpathsofdirectoryatpath:@"." error:nil];
//這兩個方法基本一樣,所以留乙個就行
nsarray *subarr = [fm subpathsatpath:@"."];
for (nsstring *item in subarr)
}return 0;
}
NSFileManager 檔案管理器
nsfilemanager 檔案管理器,它是單例 nsuserdefaults 也是單例 nsfilemanager 是對本地沙盒檔案進行管理,比如建立資料夾,移動檔案,拷貝檔案,刪除檔案等操作 建立檔案管理器單例物件 nsfilemanager filemanager nsfilemanager ...
管理檔案和目錄 NSFileManager
檔案或目錄是使用檔案的路徑名的唯一標識。相對路徑是相對於當前目錄的路徑名,每個路徑名都是乙個nsstring物件,它既可以是相對路徑,也可以是完整的路徑。完整路徑也稱為絕對路徑,以斜線 開始,斜線實際上就是乙個目錄,為根目錄。特殊的代字元作為使用者主目錄的縮寫。linda表示 使用者linda主目錄...
OC 檔案管理器NSFileManager
nsfilemanager是乙個單例結構可以用這個類,進行建立檔案 刪除檔案 移動檔案或者獲取檔案資訊。目錄與檔案建立 int main int argc,const char argv else 建立檔案 nsstring str 今天oc最後一天!nsdata data str datausin...