美文网首页
Stream-readable

Stream-readable

作者: 静昕妈妈芦培培 | 来源:发表于2021-03-04 08:38 被阅读0次

例:比较fs.readFile和可读流的读取方式

const fs = require('fs')

//传统的读取方式:一次性读取文件的全部内容。
fs.readFile('./foo.txt',(err, data) => {
    console.log(data)
})

//通过流的方式读取:可以更精准的控制从哪个位置开始读取,读取到哪个位置停止,一次读取多少个字节
//1.创建可读流:fs.ReadStream 类的对象,继承自: <stream.Readable>
const reader = fs.createReadStream('./foo.txt', {
    start: 3, //从第几个字节开始读取
    end: 10, //读取到第几个字节停止
    highWaterMark: 2, //一次读取几个字节
})

//2.读取可读流中的内容
reader.on('data', (chunk) => {
    //如果使用 readable.setEncoding() 为流指定了默认的字符编码,则监听器回调传入的数据为字符串,否则传入的数据为 Buffer。
    console.log(chunk)
})

reader.on('open', () => {
    console.log('文件已打开')
})
reader.on('ready', () => {
    console.log('文件已准备好使用')
})

reader.on('close', () => {
    console.log('文件已关闭')
})

执行结果:


image.png

相关文章

  • Stream-readable

    例:比较fs.readFile和可读流的读取方式 执行结果:

网友评论

      本文标题:Stream-readable

      本文链接:https://www.haomeiwen.com/subject/kiuhqltx.html