这段链式流解压缩zip文件的代码看不懂

var fs = require("fs");

var zlib = require('zlib');


// 解压 input.txt.gz 文件为 input.txt

fs.createReadStream('input.txt.gz')

  .pipe(zlib.createGunzip())

  .pipe(fs.createWriteStream('input.txt'));

  

console.log("文件解压完成。");


有点不理解这里两个pipe是怎么工作的,有木有大神能通俗易懂的解释一下啊,感谢!!!


慕雪6442864
浏览 365回答 1
1回答

慕码人2483693

个人理解,有错误欢迎指正,代码只是逻辑说明,nodejs实际实现可能不一样。fs.createReadStream('input.txt.gz')  .pipe()  .pipe(fs.createWriteStream('input.txt'));解压zip的const unzip = zlib.createGunzip();写出文件的const writer = fs.createWriteStream('input.txt');可以理解为const stream = fs.createReadStream('input.txt.gz');stream.on('data',(data)=>{    const unzipdata = unzip(data);    unzipdata.emit('data',data);});unzip.on('data',(data)=>{    writer.write(data);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript