node.js的文件流操作

上篇讲解了关于node的文件操作,但为什么还有文件的流操作呢
搞计算机的都知道 计算机所有的东西最终都会转换成二进制文件流的形式
所以一般在很大的文件进行操作的时候,使用二进制流的形式 进行文件操作无非会大大缩减文件操作的消耗时间 小文件操作就不需要
举例子:一般几百兆的压缩包等等
流的操作 一般都是大文件

// 文件流 写入文件
var str="";
var data="从数据库中读取数据,然后写入到文件中\n";
for(var i=0;i<500;i++){
	str+=data;
}
var writeStream=fs.createWriteStream('./data/output.txt');
writeStream.write(str);
writeStream.end();// 文件写入结束
// 监听文件写入完成的事件
writeStream.on('finish',()=>{
	console.log('写入完成!');
})
// 文件流 读取文件
var readStream=fs.createReadStream('./data/input.txt');// 创建读取流
var count=0;
var str='';
readStream.on('data',(data)=>{
	str+=data;
	count++;
})
readStream.on('end',()=>{
	console.log(str,count);
})

readStream.on('error',(err)=>{
	console.log(err);
})

// 管道流 用于复制大文件
var readStream=fs.createReadStream('./imgs/km.png');
var writeStream=fs.createWriteStream('./data/1.png');
readStream.pipe(writeStream);
原创文章 288 获赞 101 访问量 4万+

猜你喜欢

转载自blog.csdn.net/yunchong_zhao/article/details/105640301
今日推荐