node.js文件操作
生活随笔
收集整理的這篇文章主要介紹了
node.js文件操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
介紹:fs模塊是文件操作的封裝,它提供了文件的讀取,寫入,更名,刪除,遍歷目錄,鏈接POSIX文件系統操作。與其他模塊不同的是,fs模塊中所有的操作都提供了異步和同步兩個版本,例如讀取文件內容函數異步方法:readFile(),同步方法readFileSync()。
API地址:http://nodejs.org/api/fs.html
????一、fs.readFile(filename,[encoding],[callback(err,data)])是最簡單的讀取文件的函數。
參數:filename:讀取的文件名。 encoding???? 文件的字符編碼 ANSI callback???? 回調函數提供兩個參數err和data,err表示有沒有錯誤發生,data是文件內容。如果指定了encoding,data是一個解析后的字符串,否則將會以buffer形式表示的二進制數據。 案例: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文件,里面隨便寫的內容,執行readFile.js可以看見獲取了文件內容,該讀取方式為異步讀取文件內容 可以看到上面代碼執行順序,readFile在readFileSync后面執行,也就是說前面為異步讀取文件后面為同步讀取???二、fs.readFileSync(filename,[encoding])
同步讀取文件它棘手的參數和fs。readFile相同,而讀取到的文件內容會以函數返回值的形式返回,如果有錯誤發生,fs將拋出異常,你需要try和catch捕獲并處理異常????三、fs.open(path,flags,[mode],[callback(err,fd)])是POSIXopen函數的封裝,與C語言標準庫中的fopen函數類似,它接受兩個必選參數,
path為文件路徑, flags可以為以下值: r:以讀取模式打開文件 r+:以讀寫模式打開文件 w:以寫入模式打開文件,如果文件不存在則創建 w+:以讀寫模式打開文件,如果文件不存在則創建 a:以追加模式打開文件,如果文件不存在則創建。 a+:以讀取追加模式打開文件,如果不存在則創建。 mode:用于創建文件時給文件指定權限,默認是0666,回調函數將會傳遞一個文件描述符fd 0666:文件權限值POSIX系統中對文件讀取和訪問權限的規范,通常用八進制數表示,如:0754標識文件所有者權限是7(讀,寫,執行),同組用戶權限是5(讀,執行)其他用戶的權限是4(讀)。??? fd:文件描述是一個非負整數,表示操作系統內核為當前進程所維護的打開文件的記錄表索引。???????四、fs.read(fd,buffer,offset,length,position,[callback(err,bytesRead,buffer)])是POSIX中read函數的封裝,相比readFile提供了更底層的接口。從指定的文件描述fd中讀取數據并寫入
fd:指定的文件描述 offset是buffer的寫入偏量值 buffer指向的緩存區對象。??????????????? length:讀取的字節數 position:文件讀取的起始數,如果為null,則從當前文件指針讀取。 回調函數傳遞err,bytesRead和buffer,分別標識讀取的字節數和緩沖區對象。 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文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。