日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node.js文件操作

發(fā)布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node.js文件操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
介紹:fs模塊是文件操作的封裝,它提供了文件的讀取,寫入,更名,刪除,遍歷目錄,鏈接POSIX文件系統(tǒng)操作。與其他模塊不同的是,fs模塊中所有的操作都提供了異步和同步兩個版本,例如讀取文件內容函數(shù)異步方法:readFile(),同步方法readFileSync()。

????一、fs.readFile(filename,[encoding],[callback(err,data)])是最簡單的讀取文件的函數(shù)。

參數(shù):filename:讀取的文件名。 encoding???? 文件的字符編碼 ANSI callback???? 回調函數(shù)提供兩個參數(shù)err和data,err表示有沒有錯誤發(fā)生,data是文件內容。如果指定了encoding,data是一個解析后的字符串,否則將會以buffer形式表示的二進制數(shù)據(jù)。 案例:readFile.js var fs=require('fs'); fs.readFile('content.txt',function(err,data){if(err){console.log(err);}else{console.log(data);} }); fs.readFile('content.txt','UTF-8',function(err,data){if(err){console.log(err);}else{console.log(data);} });try{var data=fs.readFileSync('content.txt','UTF-8');console.log(data+"?我運行啦"); }catch(e){console.log(e) }在項目目錄下新建一個content.txt文件,里面隨便寫的內容,執(zhí)行readFile.js可以看見獲取了文件內容,該讀取方式為異步讀取文件內容 可以看到上面代碼執(zhí)行順序,readFile在readFileSync后面執(zhí)行,也就是說前面為異步讀取文件后面為同步讀取

???二、fs.readFileSync(filename,[encoding])

同步讀取文件它棘手的參數(shù)和fs。readFile相同,而讀取到的文件內容會以函數(shù)返回值的形式返回,如果有錯誤發(fā)生,fs將拋出異常,你需要try和catch捕獲并處理異常

????三、fs.open(path,flags,[mode],[callback(err,fd)])是POSIXopen函數(shù)的封裝,與C語言標準庫中的fopen函數(shù)類似,它接受兩個必選參數(shù),

path為文件路徑, flags可以為以下值: r:以讀取模式打開文件 r+:以讀寫模式打開文件 w:以寫入模式打開文件,如果文件不存在則創(chuàng)建 w+:以讀寫模式打開文件,如果文件不存在則創(chuàng)建 a:以追加模式打開文件,如果文件不存在則創(chuàng)建。 a+:以讀取追加模式打開文件,如果不存在則創(chuàng)建。 mode:用于創(chuàng)建文件時給文件指定權限,默認是0666,回調函數(shù)將會傳遞一個文件描述符fd 0666:文件權限值POSIX系統(tǒng)中對文件讀取和訪問權限的規(guī)范,通常用八進制數(shù)表示,如:0754標識文件所有者權限是7(讀,寫,執(zhí)行),同組用戶權限是5(讀,執(zhí)行)其他用戶的權限是4(讀)。??? fd:文件描述是一個非負整數(shù),表示操作系統(tǒng)內核為當前進程所維護的打開文件的記錄表索引。

???????四、fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])是POSIX中read函數(shù)的封裝,相比readFile提供了更底層的接口。從指定的文件描述fd中讀取數(shù)據(jù)并寫入

fd:指定的文件描述 offset是buffer的寫入偏量值 buffer指向的緩存區(qū)對象。??????????????? length:讀取的字節(jié)數(shù) position:文件讀取的起始數(shù),如果為null,則從當前文件指針讀取。 回調函數(shù)傳遞err,bytesRead和buffer,分別標識讀取的字節(jié)數(shù)和緩沖區(qū)對象。 openReadFile.js var fs=require('fs'); fs.open('content.txt','r',function(err,fd){if(err){console.log(err);return;}var buf=new Buffer(8);fs.read(fd,buf,0,8,null,function(err,bytesRead,buffer){if(err){console.log(err);return;} console.log('bytesRead '+bytesRead);console.log(buffer);}); })
API地址:http://nodejs.org/api/fs.html

總結

以上是生活随笔為你收集整理的node.js文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。