Node.js 文件系統封裝在 fs 模塊是中,它提供了文件的讀取、寫入、更名、刪除、遍歷目錄、鏈接等POSIX 文件系統操作。
與其他模塊不同的是,fs 模塊中所有的操作都提供了異步的和 同步的兩個版本,例如讀取文件內容的函數有異步的 fs.readFile() 和同步的 fs.readFileSync()。我們以幾個函數為代表,介紹 fs 常用的功能,并列出 fs 所有函數 的定義和功能。
fs.readFile語法(異步/非阻塞模式):
<pre>
fs.readFile(filename,[encoding],[callback(err,data)])
filename(必選),表示要讀取的文件名。
encoding(可選),表示文件的字符編碼。
callback 是回調函數,用于接收文件的內容。
如果不指 定 encoding,則 callback 就是第二個參數。回調函數提供兩個參數 err 和 data,err 表 示有沒有錯誤發生,data 是文件內容。如果指定了 encoding,data 是一個解析后的字符 串,否則 data 將會是以 Buffer 形式表示的二進制數據。
例如以下程序,我們從test.txt 中讀取數據,但不指定編碼:(text.txt下寫入hello world)
test.js下:
var fs = require('fs');
fs.readFile('test.txt', function(err, data) {
if(err) {
console.error(err);
} else{
console.log(data);//二進制
console.log(data.valueOf());//二進制
console.log(data.toString());//解析后的data
}
});
</pre>
在test.js下git bash :node test.js
<Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 21 21 21>
<Buffer 68 65 6c 6c 6f 20 6e 6f 64 65 6a 73 21 21 21>
hello nodejs!!!
fs.readFileSync同步(阻塞模式)語法:
fs.readFileSync(filename, [encoding])是 fs.readFile 同步的版本。
文件操作模塊(fs)
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
推薦閱讀更多精彩內容
- topics: 1.The Node.js philosophy 2.The reactor pattern 3....