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斷點續傳和下載的時候,就急需要文件流的操作。