Foundation Framework 提供存取檔案系統執行檔案與目錄進行基本運作
NSFileManager 可以有以下功能: ( 其提供的方法也適用於目錄 )
- 建立新檔
- 讀取以存在的檔案
- 將資料寫入檔案
- 更改檔名
- 刪除檔案
- 測試檔案是否存在
- 決定檔案的大小與屬性
- 進行檔案複製
- 測試兩檔案內容是否相同
NSFileHandle ( 其提供的方法也適用於設備裝置或sockets )
- 開啟檔案 進行讀取 寫入 更新
- 找到檔案中指定位置
- 以特定的bytes 數寫入或讀取檔案
路徑名稱(pathname)- 是個NSString 的物件,可以是 relative(相對的) ,或是 Full(完整的) 路徑名
relative 相對路徑 => 指的是相對於目前的目錄 所以Copy.m 代表目前的目錄下的 "Copy.m"這個檔案
(/) 將路徑的目錄分開 => 這樣可以就可以藉由"Copy.m"分辨路徑 ( "ch16/Copy.m") 利用(/)可以知道 Copy.m 位於ch16這個目錄下
Full 完整路徑 又名 absolute絕對路徑,起始於/ , "/" 就是root directory 根目錄 ,
ex. /User/Jason =>指定三個目錄 就是Jason的家目錄
=>"/"
=>"User"
=>"Jason"
特殊字元(~) 為使用者家目錄的縮寫 => ~Jason = /Users/Jason
常用的NSFileManager檔案方法
以下參數定義:
path, path1, path2, from, to: Object of NSString
attr: Object of NSDictionary
handler : 自定的callback handler! 當我們把nil 指定給handler預設動作是enable! 方法會回傳BOOL = "YES" or "NO"
- (NSData *) contentsAtPath: path // 從檔案讀取資料
- (NSData *)createFileAtPath: path
contents:(NSData *) data
attributes: attr // 將資料寫入檔案
- (BOOL) removeFileAtPath: path
handler: handler // 移除檔案
- (BOOL) movePath: from
toPath: to //(to)不可為已存在的檔案
handler: handler // 更改檔案名稱或移動檔案
- (BOOL) copyPath: from
toPath: to //(to)不可為已存在的檔案
handler: handler // 複製檔案
- (BOOL) contentsEqualAtPath: path1
andPath: path2 //比對兩檔案的內容
- (BOOL) fileExistsAtPath: path //測試檔案是否存在
- (BOOL) isReadableFileAtPath: path //測試檔案是否存在 是否可以可讀取
- (BOOL) isWritableFileAtPath: path //測試檔案是否存在 是否可以可寫入
- (NSDictionary *) fileAttributesAtPath: path
traverseLink: (BOOL) flag // 取得檔案的屬性
- (BOOL) changeFileAttributes: attr
atPath: path // 改變檔案的屬性
沒有留言:
張貼留言