node中文件读取流,写入流,管道流怎么实现

// 文件以流方式读取
// 引入读写核心模块
const fs = require('fs')

// 创建读取流
let readStream = fs.createReadStream('文件位置/文件名')

let c = 0
// 监听读取状态
readStream.on('data',(data)=>{
	console.log(data)
	c++
})
// 监听读取完毕
readStream.on('end',()=>{
	console.log(c)
})
readStream.on('error',(err)=> {
	console.log(err)
})
// 以流方式写入
const fs = require('fs')
let s = ''
for (let i =0;i<500;i++){
	s+='我是大数据\n'
}
// 如果文件不存在会主动创建
let writeStream = fs.createWriteStream('文件位置/文件名')
writeStream.write(s)
// 标记写入完成/标记文件末尾,不标记无法监听finish
writeStream.end()
writeStream.on('finish',()=>{
	console.log('写入完成')
})
// 管道流实现文件复制(主要用于大文件
// 创建一个可读流
let readStream = fs.createReadStream('文件位置/文件名') 
//也可以复制zip等压缩文件,例如 ./dir/g.zip
// 创建一个可写流
let writeStream = fs.createWriteStream('文件位置/文件名')
//例如./dir2/h.zip
// 管道读写操作
readStream.pipe(writeStream)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值