Node學習基礎(三) 之文件的同步和異步寫入操作(fs_文件系統)

下面遇到看不懂的可以去看官方文檔

首先引入fs模塊

第二步打開文件

 官方文檔格式是這樣 

path 文件路徑  這裏例子裏是FileHello.txt  如果沒有這個文件 所以他會自動創建 FileHello.txt

  1. 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的特色,異步不會阻塞線程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章