iOS文件操作NSFileHandle--文件管理四

NSFileHandle類允許更有效的使用文件,可以實(shí)現(xiàn)如下功能:

1、打開一個(gè)文件,執(zhí)行讀、寫或更新讀寫操作;

2、在文件中查找指定位置;

3、從文件中讀取特定數(shù)目的字節(jié),或?qū)⑻囟〝?shù)目的字節(jié)寫入文件中

另外,NSFileHandle類提供的方法也可以用于各種設(shè)備或套接字。一般而言,我們處理文件時(shí)都要經(jīng)歷三個(gè)步驟:打開文件,獲取一個(gè)NSFileHandle對象;對打開文件執(zhí)行相關(guān)操作;關(guān)閉文件。

一、只讀讀取文件內(nèi)容

//NSFileHandle對文件內(nèi)容進(jìn)行操作

//獲取沙盒中某txt文件的路徑

NSString *homePath = NSHomeDirectory();

NSString *path = [homePath stringByAppendingPathComponent:@"Documents/file.txt"];

//以只讀的方式打開文件生成文件句柄

NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:path];

//注:內(nèi)存:內(nèi)部存儲器;硬盤:外部存儲設(shè)備。從硬盤到內(nèi)存(從文件到內(nèi)容)叫做讀,從內(nèi)存到文件(硬盤)叫做寫

//讀取文件內(nèi)容的兩種方式

//? ? NSData *data = [fileHandle readDataOfLength:3];

//? ? data = [fileHandle readDataOfLength:5]; //繼續(xù)上面3個(gè)字節(jié)后,繼續(xù)讀取5個(gè)字節(jié)

NSData *? data = [fileHandle readDataToEndOfFile];//如果文件內(nèi)容不是特別多,可以直接讀取全部內(nèi)容

二、只寫修改文件內(nèi)容

//NSFileHandle對文件內(nèi)容進(jìn)行操作

//獲取沙盒中某txt文件的路徑

NSString *homePath = NSHomeDirectory();

NSString *path = [homePath stringByAppendingPathComponent:@"Documents/file.txt"];

//以只寫方式打開文件生成句柄

NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath:path];

[handle writeData:[@"Hello world!!!" dataUsingEncoding:NSUTF8StringEncoding]];//直接覆蓋掉前面相應(yīng)數(shù)量的字符

[handle truncateFileAtOffset:0];//將文件字節(jié)截短至0,相當(dāng)于將文件清空,可供文件填寫

[handle writeData:[@"Hello world." dataUsingEncoding:NSUTF8StringEncoding]];//填寫文件

[handle seekToEndOfFile];//將讀寫指針設(shè)在文件的尾端

[handle writeData:[@"ni hao" dataUsingEncoding:NSUTF8StringEncoding]];

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"---%@",str);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • iOS開發(fā)-文件管理(一) 一、iOS中的沙盒機(jī)制 iOS應(yīng)用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個(gè)獨(dú)立、封閉...
    MacShare閱讀 1,816評論 0 6
  • 一、iOS中的沙盒機(jī)制 iOS應(yīng)用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個(gè)獨(dú)立、封閉、安全的空間,叫做沙盒。它一...
    tzhtodd閱讀 1,303評論 0 2
  • 一、iOS中的沙盒機(jī)制 iOS應(yīng)用程序只能對自己創(chuàng)建的文件系統(tǒng)讀取文件,這個(gè)獨(dú)立、封閉、安全的空間,叫做沙盒。它一...
    1d5cb7cff98d閱讀 1,789評論 0 0
  • 沙盒SandBox 向沙盒寫文件和讀文件 文件管理NSFileManager 圖片下載 創(chuàng)建文件夾 創(chuàng)建文件 復(fù)制...
    iOS_Alex閱讀 510評論 0 0
  • 文件操作 NSFileManager 1.NSFileManager 專門負(fù)責(zé)文件/文件夾的管理操作,包括創(chuàng)建/刪...
    Jackjun閱讀 2,081評論 0 1