Node 中文件读取

简单文件读取

/*
* fs.readFile(path[,options],callback)
*   --path : 要读取文件的路径 + 文件名 + 后缀
*   --options : 配置对象(可选)
*   --callback : 回调
*      --err : 错误对象
*      --data: 读取出来的数据
* */

详细代码如下

let fs = require('fs')

fs.readFile(__dirname + '/index.txt',function (err,data){
    if (err){
        console.log(err)
    }else {
        //获取txt 文件中的内容 要加上 toString()
        console.log(data.toString())
    }
    // 为什么读取出来的是 Buffer 因为用户存放的不一定是纯文本
})

流式文件读取

/*
* fs.createReadStream(path[,options])
*   --path:要读取的文件路径 + 文件名 + 后缀
*   --options:
*    --flags
*    --encoding
*    --fd
*    --mode
*    --autoClose
*    --emitClose
*    --start :起始偏移量
*    --emd : 结束偏移量
*    --highWaterMak : 每次读取数据大小默认值,默认值是 64 * 1024
* */

详细代码如下

let {createReadStream,createWriteStream} = require('fs')

// 创建一个可读流
let rs = createReadStream('./index.txt')

// 创建一个可写流
let ws = createWriteStream('./dome.txt')

// 只要用到流,就必须检测流的状态
rs.on('open',function (){
    console.log('可读流打开了')
})

rs.on('close',function (){
    console.log('可读流关闭了')
})

ws.on('open',function (){
    console.log('可写流打开了')
})

ws.on('close',function (){
    console.log('可写流关闭了')
})


// 绑定一个可读流绑定一个 data 事件,就会触发可读流自动读内容
rs.on('data',function (data){
    console.log(data)
    ws.write(data)
})

ws.close()
posted @ 2022-06-30 21:07  生活在北极的企鹅  阅读(376)  评论(0编辑  收藏  举报