記錄 fs 模塊的方法及使用
1. fs.stat 獲取文件大小,創建時間等信息
// 引入 fs 模塊 const fs = require('fs'); fs.stat('01.fs.js', (err, stats) => { if (err) { console.log(err);
return false; } else { // 檢測類型,是文件還是目錄 console.log(`文件:${stats.isFile()}`); console.log(`目錄:${stats.isDirectory()}`); if (stats.isFile()) { // 文件大小 console.log(`size:${stats.size}`); // 創建時間 console.log(`birth time: ${stats.birthtime}`); // 最后一次修改時間 console.log(`modified time:${stats.mtime}`); } } })
結果如下:
文件:true 目錄:false size:624 birth time: Wed Jul 25 2018 09:22:08 GMT+0800 (中國標准時間) modified time:Wed Jul 25 2018 09:31:05 GMT+0800 (中國標准時間)
2. fs.mkdir 創建目錄
// 創建目錄 // path:將創建的目錄路徑 // mode:目錄權限(讀寫權限),默認0777 // callback:回調,傳遞異常參數err fs.mkdir('css',(err)=>{ if(err){ console.log(err);
return false; } console.log('創建目錄成功'); })
3. fs.writeFile 寫入文件
// filename (String) 文件名稱 // data (String | Buffer) 將要寫入的內容,可以使字符串 或 buffer數據。 // options (Object) option數組對象,包含: // · encoding (string) 可選值,默認 ‘utf8′,當data使buffer時,該值應該為 ignored。 // · mode (Number) 文件讀寫權限,默認值 438 // · flag (String) 默認值 ‘w' // callback {Function} 回調,傳遞一個異常參數err。 fs.writeFile('t.txt','你好 node.js',(err)=>{ if(err){ console.log(err);
return false;
}
console.log('寫入成功');
})
注意: 如果沒有 't.txt' 文件,會先創建文件,然后寫入內容,如果已經存在 't.txt' 文件,則會覆蓋原來的內容
4.fs.appendFile 追加文件
fs.appendFile('t1.txt','這是寫入的內容',(err)=>{
if(err){
console.log(err);
return false;
}
console.log('追加成功');
})
注意:如果要追加的文件不存在,則創建該文件,多次執行可以多次追加,而 writeFile 則是覆蓋掉原來的內容
5. fs.readFile 讀取文件
// 讀取文件內容 fs.readFile('index.txt', 'utf-8', (err, data) => { if (err) { console.log(err); return false; } else { console.log(data); } })
6. fs.readdir 讀取目錄
比如,我想讀取這個目錄下的文件及文件夾

// 讀取目錄 fs.readdir('html',(err,data)=>{ if(err){ console.log(err); }else{ console.log(data); } })
結果如下:
[ 'css', 'index.html', 'js' ]
7.1 fs.rename 重命名
// 重命名 fs.rename('html/index.html','html/news.html',(err)=>{ if(err){ console.log(err); return false; }else{ console.log('修改名字成功'); } })
結果如下:

7.2 fs.rename 重定向
在 html 目錄下新建一個 index.css 文件,現在,想將這個文件放入到 css 文件夾下,代碼如下:
fs.rename('html/index.css','html/css/index.css',(err)=>{ if(err){ console.log(err); return false; }else{ console.log('重定向成功'); } })
結果如下:

當然,也可以將重命名及重定向同步進行,代碼如下:
fs.rename('html/index.css','html/css/basic.css',(err)=>{ if(err){ console.log(err); return false; }else{ console.log('重定向及重命名成功'); } })
結果如下:

8. fs.rmdir 刪除目錄
fs.rmdir('html/js',(err)=>{ if(err){ console.log(err); return false; }else{ console.log('刪除js文件夾成功'); } })
9. fs.unlink 刪除文件
// 刪除文件 fs.unlink('1.txt',(err)=>{ if(err){ console.log(err); return false; }else{ console.log('刪除文件成功'); } })
