iOS檔案流操作類-NSFileHandle
阿新 • • 發佈:2019-02-04
Objective-C使用NSFileHandle類對檔案進行流操作。
類似於C++(或者C)操作檔案流,NSFileHandle基本步驟:
1、開啟檔案,獲取NSFileHandle物件。
2、對上面開啟檔案,通過NSFileHandle物件進行I/O流操作
3、關閉檔案
NSFileHandle常用方法:
// 開啟一個檔案用於讀入
+(NSFileHandle*)fileHandleForReadingAtPath:path
// 開啟一個檔案用於寫入
+(NSFileHandle*)fileHandleForWritingAtPath:path
// 開啟一個檔案用於讀寫
+(NSFileHandle*)fileHandleForUpdatingAtPath:path
// 從裝置或者通道返回可用資料
-(NSData*)availableData
// 讀取其餘的資料知道檔案的末尾(最多UINT_MAX位元組)
-(NSData*)readDataToEndOfFile
// 從檔案中讀取指定位元組的內容
-(NSData*)readDataOfLength:(NSUInteger)bytes
// 將data寫入檔案
-(void)writeData:data
// 獲取當前偏移量
-(unsigned long long)offsetInFile
// 設定偏移量
-(void)seekToFileOffset:offset
// 將偏移量定位到檔案的末尾
-(unsigned long long )seekToEndOfFile
// 講檔案的長度設定為offset位元組
-(void)truncateFileAtOffset:offset
// 關閉檔案
-(void)closeFile
注:fileHandleForWritingAtPath和fileHandleForUpdatingAtPath所指定的檔案必須是已經存在的,否則返回nil,並且返回的NSFileHandle物件檔案偏移量在檔案的開始位置。
注:我們一般不會牽涉到檔案流的操作,但在http斷點續傳和下載的時候,就急需要檔案流的操作。