0. 引入File System模塊
var fs = require('fs');
1. fs.stat 檢測(cè)是文件還是目錄
fs.stat('js',function(err, stats){
if (err) {
console.log(err);
}else{
console.log(stats);
console.log('文件:'+stats.isFile()); // 文件:false
console.log('目錄:'+stats.isDirectory()); // 目錄:true
}
});
2. fs.mkdir 創(chuàng)建目錄
// 接受參數(shù):
// path 將創(chuàng)建的目錄路徑
// mode 目錄權(quán)限(讀寫權(quán)限)洋幻,默認(rèn)0777
// callback 回調(diào)媳谁,傳遞異常參數(shù)(err)
fs.mkdir('css',function(err){
if (err) {
console.log(err);
}else{
console.log('創(chuàng)建目錄成功');
}
});
3. fs.writeFile 創(chuàng)建寫入文件
// 接受參數(shù):
// fileName (String) 文件名稱
// data (String | Buffer) 將要寫入的內(nèi)容灸姊,可以是字符串 或 buffer數(shù)據(jù)
// option (Object) option數(shù)組對(duì)象饲齐,包含:
// · encoding (String) 可選值使兔,默認(rèn) 'utf8' 寸癌,當(dāng)data使用buffer時(shí)瓶蚂,該值應(yīng)為 ignored
// · mode (Number) 文件讀寫權(quán)限强霎,默認(rèn)值 438
// · flag (String) 默認(rèn)值'w'
// callback (function) 回調(diào)鸯两,傳遞一個(gè)異常參數(shù)err
fs.writeFile('t.txt','你好node.js',function(err){
if (err) {
console.log(err);
}else{
console.log('寫入成功')
}
});
4. fs.appendFile 追加寫入文件
fs.appendFile('t.txt','你好node.js\n',function(err){
if (err) {
console.log(err);
}else{
console.log('寫入成功')
}
});
5. fs.readFile 讀取文件
fs.readFile('t.txt',function(err, data){
if (err) {
console.log(err);
}else{
console.log(data); // 輸出buffer 格式
console.log(data.toString()) // 輸出utf8 格式
}
});
6. fs.readdir 讀取目錄
fs.readdir('node_modules',function(err, data){
if (err) {
console.log(err);
}else{
console.log(data);
}
});
7. fs.rename 重命名
1.改名 2.剪切文件
// 接受參數(shù):
// oldPath
// newPath
// callback
fs.rename('html/index.html','html/base.html',function(err){
if (err) {
console.log(err);
}else{
console.log('重命名成功');
}
});
8. fs.rmdir 刪除目錄
fs.rmdir('n',function(err){
if (err) {
console.log(err);
}else{
console.log('刪除目錄成功');
}
});
9. fs.unlink 刪除文件
fs.unlink('t.txt',function(err){
if (err) {
console.log(err);
}else{
console.log('刪除文件成功');
}
});
講解視頻鏈接
05 Nodejs中的fs模塊(上) https://www.youtube.com/watch?v=AiRSPbKifYs
07 Nodejs中的fs 流(下) https://www.youtube.com/watch?v=fiGTLDUT5wo