Node學習筆記(九)—— 文件流

  1. 寫入流

    let fs=require('fs')
    // 創建寫入流對象,語法:fs.createWriteStream(文件路徑,【可選的配置操作】)
    let ws=fs.createWriteStream('hello.txt',{flags:'w',encoding:'utf-8'})
    // console.log(ws)
    // 監聽文件打開事件
    ws.on('open',function(){
        console.log('文件打開') // 第1步執行
    })
    // 監聽文件關閉事件
    ws.on('close',function(){
    
        console.log('文件關閉c') // 第5步執行
    })
    // 監聽文件寫入事件
    ws.write("hello world",function(err){ 
        console.log(err) // 第2步執行
    })
    // 追加內容,不是替換
    ws.write("hello world-3",function(err){
        console.log(err) // 第3步執行
    })
    // 監聽文件寫入完成事件
    ws.end(function(){
        console.log('文件寫入關閉') // 第4步執行
    })
    
  2. 讀取流

    let fs=require('fs')
    // 創建讀取流對象,語法:fs.createReadStream(文件路徑,【可選配置項】)
    let rs=fs.createReadStream('hello.txt',{flags:'r',encoding:'utf-8'})
    // 監聽文件打開事件
    rs.on('open',()=>{
        console.log('文件已打開') // 第1步執行
    })
    // 監聽文件讀取關閉事件
    rs.on('close',()=>{
        console.log('讀取流結束') // 第3步執行
    })
    // 監聽每一次數據的流入完成
    rs.on('data',(res)=>{
        console.log(res) // 讀取到的內容,第2步執行
    })
    
  3. 管道流,完成文件的讀寫

    let fs=require('fs')
    let rs=fs.createReadStream('hello.txt',{flags:'r',encoding:'utf-8'})
    let ws=fs.createWriteStream('h.txt',{flags:'w',encoding:'utf-8'})
    rs.pipe(ws)
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章