var fs = require("fs");var zlib = require('zlib');// 解压 input.txt.gz 文件为 input.txtfs.createReadStream('input.txt.gz') .pipe(zlib.createGunzip()) .pipe(fs.createWriteStream('input.txt')); console.log("文件解压完成。");有点不理解这里两个pipe是怎么工作的,有木有大神能通俗易懂的解释一下啊,感谢!!!
1 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
个人理解,有错误欢迎指正,代码只是逻辑说明,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);
});
添加回答
举报
0/150
提交
取消