node.js之所以這麼火,其中最大的原因可能就是由於他的異步操作,處理高併發的效率高於其他。
所以也有很多網站,中間採用node.js進行渲染,能高效的處理大流量高併發的問題。
最近,公司的項目要用node.js進行書寫,可能有的童鞋納悶了,node不是服務器端的嗎,算是後端的東西了,但是公司並沒有把node作爲後端語言,而是作爲中間處理,通過模板引擎渲染頁面的,這可能纔是真正的node.js的用處吧,所以啊筆者又開始了 node.js的爬坑之路。
node虐我千百遍,我待node如初戀。
今天來說一下node.js的文件操作吧,畢竟這個東西也是基礎的,想要後端玩得好,文件操作這塊也得六。
// 下面的都是 異步書寫的, 其實工作中吧 用node很大部分原因就是因爲他的異步
當然你也可以同步
同步就是在異步的方法 後面加上 Async 例如 讀取文件:var data=fs.readFileAsync(’./hello.txt’);
裏面不用再加上 回調函數了。
這裏有個東西要記牢 異步 很大程度是依靠回調函數 但並不是回調函數就是異步。這個要記牢
const fs=require('fs');
// 1. fs.stat 檢查 是文件還是目錄
// fs.stat('./index.html',(err,data)=>{
if(err){
console.log(err);
return;
}
console.log(`是文件:${data.isFile()}`);
console.log(`是目錄:${data.isDirectory()}`)
})
// 2.fs.mkdir() 創建目錄
fs.mkdir('./css',(err)=>{
if(err){
console.log(err);
return;
}
console.log('創建成功!');
})
// 3. fs.writeFile 創建寫入文件 如果文件存在覆蓋裏面的內容 沒有就 重新創建
fs.writeFile('./hello.txt',"hello node.js",(err)=>{
if(err){
console.log(err);
return;
}
console.log("創建寫入成功!")
})
// 4. fs.appendFile 追加文件 內容
fs.appendFile('./hello.txt',"我要好好學習node.js",(err)=>{
if(err){
console.log(err);
return;
}
console.log('success append!');
})
// 5.fs.readFile 讀取文件操作
fs.readFile('./hello.txt',(err,data)=>{
if(err){
console.log(err);
return;
}
// 讀取的數據是 buffer 十六進制 要轉換成字符串
console.log(data.toString());
})
// 6.fs.readdir 讀取目錄下的信息
fs.readdir('./',(err,data)=>{
if(err){
console.log(err);
}
console.log(data)
})
// 7.fs.rename 1.文件重命名 2.文件移動操作
fs.rename('./css/aaa.css','./css/index.css',(err)=>{
if(err){
console.log(err);
return;
}
console.log('重命名成功//移動文件成功!');
})
// 8.fs.rmdir 刪除目錄 必須是空目錄纔可以刪除
fs.rmdir('./lib',(err)=>{
if(err){
console.log(err);
return;
}
console.log('刪除目錄成功!');
})
// 9.fs.unlink() 刪除文件操作
fs.unlink("./app.txt",(err)=>{
if(err){
console.log(err);
return;
}
console.log('刪除成功!');
})