Node 中文件读取

作者:@生活在北极的企鹅
本文为作者原创,转载请注明出处:https://www.cnblogs.com/BJQE/p/16428610.html


简单文件读取

/*
* 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 @   生活在北极的企鹅  阅读(377)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示