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