node.js 使用fs模組對系統檔案及目錄進行讀寫操作
阿新 • • 發佈:2019-01-23
如果要用這個模組,首先需要引入,fs已經屬於node.js自帶的模組,所以直接引入即可
var fs = require('fs');
1.讀取檔案readFile方法使用
fs.readFile(filename,[option],callback) 方法讀取檔案。
引數說明:
- filename String 檔名
- option Object
- encoding String |null default=null
- flag String default='r'
- callback Function
2.寫入檔案writeFile方法使用// 設定編碼格式 fs.readFile('./test.txt', 'utf-8', function(err, data) { // 讀取檔案失敗/錯誤 if (err) { throw err; } // 讀取檔案成功 console.log('utf-8: ', data.toString()); });
使用fs.writeFile(filename,data,[options],callback)寫入內容到檔案。
引數說明:
- filename String 檔名
- data String|buffer
- option Object
- encoding String |nulldefault='utf-8'
- mode Number default=438(aka 0666 in Octal)
-
- flag Stringdefault='w'
- callback Function
var fs = require('fs'); // 引入fs模組 // 寫入檔案內容(如果檔案不存在會建立一個檔案) // 寫入時會先清空檔案 fs.writeFile('./test2.txt', 'test test', function(err) { if (err) { throw err; } console.log('Saved.'); // 寫入成功後讀取測試 fs.readFile('./test2.txt', 'utf-8', function(err, data) { if (err) { throw err; } console.log(data); }); });
因為預設flag='w'是寫,會清空檔案,想要追加,可以傳遞一個flag引數,如下。
flag傳值,r代表讀取檔案,w代表寫檔案,a代表追加。
3.建立目錄mkdir使用var fs = require('fs'); // 引入fs模組 // 寫入檔案內容(如果檔案不存在會建立一個檔案) // 傳遞了追加引數 { 'flag': 'a' } fs.writeFile('./test2.txt', 'test test', { 'flag': 'a' }, function(err) { if (err) { throw err; } console.log('Saved.'); // 寫入成功後讀取測試 fs.readFile('./test2.txt', 'utf-8', function(err, data) { if (err) { throw err; } console.log(data); }); });
使用fs.mkdir(path,[mode],callback)建立目錄,path是需要建立的目錄,[mode]是目錄的許可權(預設是0777),callback是回撥函式。
var fs = require('fs'); // 引入fs模組
// 建立 newdir 目錄
fs.mkdir('./newdir', function(err) {
if (err) {
throw err;
}
console.log('make dir success.');
});
4.讀取目錄readdir
var fs = require('fs'); // 引入fs模組
fs.readdir('./newdir', function(err, files) {
if (err) {
throw err;
}
// files是一個數組
// 每個元素是此目錄下的檔案或資料夾的名稱
console.log(files);
});
5.刪除檔案unlink
var fs = require('fs'); // 引入fs模組
fs.unlink('./newfile.txt', function(err) {
if (err) {
console.log(err);
return false;
}
console.log("success");
});
6.刪除空資料夾rmdir
var fs = require('fs'); // 引入fs模組
fs.rmdir('./newdir', function(err) {
if (err) {
console.log(err);
return false;
}
console.log("success");
});