Nodejs教程笔记(五)fs续 读取 写入 管道流

感谢b站教程:Nodejs教程_Nodejs+Koa2入门实战视频教程-2020年更新

  1. 读取流
const fs = require('fs')

// 读取流
var readStream = fs.createReadStream('./in.txt')

let count = 0
let str = ''
// 读取数据,数据过大则会分批读取
readStream.on('data', (data) => {
  str += data
  count++
})

// 监听是否读取完
readStream.on('end', (data) => {
  console.log(str)
  console.log(count)
})

// 监听错误
readStream.on('error', (err) => {
  console.log(err)
})
  1. 写入流
const fs = require('fs')

let str = ''

for (let i = 0; i < 500; i++) {
  str += '我是少了一个m的ema果,我为自己代言\n'
}

// 写入流
let writeStream = fs.createWriteStream('./out.txt')

writeStream.write(str) 

// 标记文件末尾,一定要加此句,不然没法触发下面的方法
writeStream.end()

// 监听写入完成
writeStream.on('finish', () => {
  console.log('写入完成')
})
  1. 管道流

管道流用于处理大文件,复制大文件到指定位置。

// 管道流用于处理大文件,复制大文件到指定位置

const fs = require('fs')

let readStream = fs.createReadStream('./in.jpg')

let writeStream = fs.createWriteStream('./out.jpg')

readStream.pipe(writeStream)
发布了221 篇原创文章 · 获赞 28 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/Ema1997/article/details/104377813