node中的读取流createReadStream、写入流createWriteStream和管道流pipe

一、读取流createReadStream

现在在data目录下有input.txt文件,其内容很多,如下

const fs = require('fs')

let readStream = fs.createReadStream('./data/input.txt');

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

readStream.on('end', () => {
    console.log("count:", count)
    console.log("str:", str)
})

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

二、写入流createWriteStream

结果如下:

const fs = require('fs')

let str = ""
for (let i = 0; i < 500; i++){
    str+='这是写入流输出的数据\n'
}

let writeStream = fs.createWriteStream('./data/output.txt');

writeStream.write(str)

writeStream.end();//只有添上这句代码,下面的finish事件才能被监听

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

三、管道流pipe

const fs = require('fs')

let readStream = fs.createReadStream('./data/input.txt');
let writeStream = fs.createWriteStream('./data/output.txt');

//读取input.txt文件内容,并将内容写入到output.txt文件中(原内容会被替换)
readStream.pipe(writeStream)

console.log('程序执行完毕')

猜你喜欢

转载自blog.csdn.net/qq_40323256/article/details/110944740
今日推荐