fs本地檔案系統
node 中有一個內建模組,fs全稱flie system 檔案系統,可以對本地檔案執行增刪改查操作(以下為非同步相關API)
先引入內建模組 var fs=require('fs')
1,增:
writeFile 寫入檔案,如果檔案存在就寫入並覆蓋原有資料,如果不存在就建立並寫入fs.writeFlie('./a.txt','床前明月光',function(err){
console,log(err)
}
appendFile 是在原有的基礎上寫入檔案,如果檔案存在,就繼續寫入,如果不存在,建立並寫入。
fs.appendFile('./a.txt','疑是地上霜',function(err){
console.log(err)
}
建立資料夾,如果沒有就建立,如果目錄存在就會報錯
fs.mkdir(’./data‘,function(err){
console.log(err)
}
2,刪:
刪除檔案,文化不存報錯
fs.rm('./data/a.txt',function(err){
console.log(err)
}
)
刪除資料夾目錄,必須是空資料夾才能刪除,否則會報錯(巢狀在刪除檔案的回撥函式中即可避免報錯)
fs.rmdir('./data',function(err){
console.log(err)
}
3,改:
可以修改檔案的位置,檔名,字尾 但不能跨盤修改位置
fs.rename('./a.txt','C:Users/i/Desktop/demo.js',function(err){
console.log(err)
}
4, 查:
判斷檔案或目錄是否存在,返回一個布林值。
fs.exists('./data',function(err){
console.log(err)
}
5,讀取:
讀取目錄下的所有檔案和子目錄(子目錄裡巢狀子檔案查不出來)
fs.readdir('./data',{
withFileTypes:true
},functionn(err,arr){
回撥的第一個引數是err 錯誤資訊,第二個引數是陣列,包含了子檔名的陣列
console.log(err,arr)
})
readFile讀取檔案,第二個引數用於設定編碼方式,否則預設為二進位制流buffer
fs.readFile('./a.txt',function(err.data){
console.log(err.data.toString());
}