node.js 提供了檔案操作的模組,包含讀取、刪除、寫入、更名等等的檔案操作。其中 fs 模組他還提供了同步與非同步的方法來使用。他的方法名稱也相當好懂,如果是非同步那麼就 fs.readFile() ,同步的話就是 fs.readFileSync(),相當好區別。本章節將會介紹檔案系統的基本操作,如:
讀取檔案 fs.readFile
寫入檔案 fs.writeFile
附加檔案內容 fs.appendFile
更名檔案 fs.rename
刪除檔案 fs.unlink
首先我們先建立一個 nodejs-fs 目錄夾,預設檔案結構如下:
content.txt , test.txt 簡單預設寫一些內文,就可以進行以下的檔案系統相關操作:
在操作的宣告裡面,在 index.js 檔案,首先務必要檔案檔案系統模組
var fs = require(‘fs’);
接著我們就可以使用 fs 所提供的方法,方法可參考 http://nodejs.org/api/fs.html:
讀取檔案 fs.readFile
var fs = require('fs’); //載入檔案系統模組
//讀取 content.txt 檔案內容
fs.readFile('content.txt', 'utf-8’, function(err, data){
//若有錯誤就列印訊息
if (err) {
console.error(err);
} else {
//將檔案內容輸入
console.log(data);
}
});
寫入檔案 fs.writeFile
var data1 = "hello, ithome 鐵人賽”;
fs.writeFile(__dirname + '/content.txt', data1, function(err){
if (err) {
console.error(err)
}
});
附加檔案內容 fs.appendFile
var data2 = "的主計林車修該自是";
fs.appendFile(__dirname + '/content.txt', data2, function(err){
if (err) {
console.error(err)
}
});
更名檔案 fs.rename
var oldpath = "content.txt";
var newpath = "content2.txt";
fs.rename(oldpath, newpath, function(err){
if (err)
throw err;
fs.stat('content.txt', function (err, stats) {
if (err)
throw err;
//將檔案的狀態顯示出來
console.log('stats: ' + JSON.stringify(stats));
});
});
顯示的檔案狀態
stats: {"dev":16777218,"mode":33204,"nlink":1,"uid":501,"gid":20,"rdev":0,"blksize":4096,"ino":33307834,"size":1254,"blocks":8,"atime":"2014-10-21T14:25:18.000Z","mtime":"2014-10-21T14:24:56.000Z","ctime":"2014-10-21T14:24:56.000Z"}
刪除檔案 fs.unlink
fs.unlink('test.txt', function (err) {
if (err) throw err;
console.log('successfully deleted test.txt');
});
不要走開~馬上回來 ... 下集待續
參考資料:
http://nodejs.org/api/fs.html