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

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

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

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

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

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

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

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

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

NSString *homePath = NSHomeDirectory();

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

//以只讀的方式打開(kāi)文件生成文件句柄

NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:path];

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

//讀取文件內(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)容不是特別多,可以直接讀取全部?jī)?nèi)容

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

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

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

NSString *homePath = NSHomeDirectory();

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

//以只寫(xiě)方式打開(kāi)文件生成句柄

NSFileHandle *handle = [NSFileHandle fileHandleForWritingAtPath:path];

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

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

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容