下面遇到看不懂的可以去看官方文檔。
首先引入fs模塊
第二步打開文件
官方文檔格式是這樣
path 文件路徑 這裏例子裏是FileHello.txt 如果沒有這個文件 所以他會自動創建 FileHello.txt
- fs-同步文件寫入操作
//1.引入fs模塊 let fs = require('fs'); //2.打開文件 let fd = fs.openSync('FileHello.txt','w'); //3.寫入內容 fs.writeFileSync(fd, "你好我是第一句被寫入的話"); //4.保存並退出 fs.closeSync(fd);*/
文件。
flags可以是以下的值
‘r’ – 以讀取模式打開文件。
‘r+’ – 以讀寫模式打開文件。
‘rs’ – 使用同步模式打開並讀取文件。指示操作系統忽略本地文件系統緩存。
‘rs+’ – 以同步的方式打開,讀取 並 寫入文件。
‘w’ – 以讀取模式打開文件,如果文件不存在則創建
‘wx’ – 和 ‘ w ‘ 模式一樣,如果文件存在則返回失敗
‘w+’ – 以讀寫模式打開文件,如果文件不存在則創建
‘wx+’ – 和 ‘ w+ ‘ 模式一樣,如果文件存在則返回失敗
‘a’ – 以追加模式打開文件,如果文件不存在則創建
‘ax’ – 和 ‘ a ‘ 模式一樣,如果文件存在則返回失敗
‘a+’ – 以讀取追加模式打開文件,如果文件不存在則創建
‘ax+’ – 和 ‘ a+ ‘ 模式一樣,如果文件存在則返回失敗
mode 用於創建文件時給文件制定權限,默認0666
然後關閉文件
運行就能在文件中看到寫入的內容了
fs-異步寫入文件操作(重點)
//1.引入fs模塊
let fs = require('fs');
//2.打開文件
fs.open('FileHello2','w',(err , fd)=>{
//判斷是否出錯
if(!err){
//寫入文件
fs.writeFile(fd , "這是個測試的內容" ,(err)=>{
if(!err){
console.log("寫入文件成功");
}else{
throw err;
}
//關閉文件
fs.close(fd, (err)=>{
if(!err){
console.log("文件已經保存並關閉");
}
})
});
}else{
throw err;
}
});
//異步訪問不會有結果,只能是回調,異步就是node的特色,異步不會阻塞線程
一樣 先打開文件格式如下
這裏的callback 就是我們異步的重點了 和同步不同就在於這個異步回調
callback有兩個值err(錯誤)和 fd(文件)
如果錯誤直接拋出錯誤
如果沒有繼續執行寫入文件
然後執行我們的關閉文件操作
關閉文件在寫入文件之後
同樣的 callback
使用回調判斷
注意:異步訪問不會有結果,只能是回調,異步就是node的特色,異步不會阻塞線程