nodejs学习笔记03-fs模块流操作

443 阅读1分钟

前言

流操作一般多用于大文件的处理。

fs的流读取及流写入

const fs = require('fs');
const readStream = fs.createReadStream("./test.txt");
const writeStream = fs.createWriteStream("./out.txt");

let count = 0;
let str = '';

readStream.on('data', (data)=>{
  str += data;
  count ++;
})

readStream.on('end', ()=>{
  // console.log(str);
  console.log(count);
  writeStream.write(str);
  writeStream.end(); // 不写end 就不能触发写入的finish 方法
})

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

writeStream.on('finish', ()=>{
  console.log('写入完成')
})

管道流操作

const fs = require('fs');
const readStream = fs.createReadStream('./test.txt');
const writeStream = fs.createWriteStream("./out.txt");

readStream.pipe(writeStream);