Pab*_*ino 4 javascript zlib fs node.js
我正在尝试使用 node.js 中的 Zlib 库解压缩文本文件,但在将 files\xe2\x80\x99s Readstream 内容传输到 Gunzip 对象时,出现意外的文件结束错误,这是我的代码片段:
\n\nconst fs = require(\'fs\');\nconst zlib = require("zlib");\n\nvar readable = fs.createReadStream(__dirname + \'/greet.txt\');\nvar readableGz = fs.createReadStream(__dirname + \'/greet.txt.gz\');\nvar writableGz = fs.createWriteStream(__dirname + \'/greet.txt.gz\');\nvar gZip = zlib.createGzip();\nvar gUnZip = zlib.createGunzip();\n\nreadable.pipe(gZip).pipe(writableGz); // compress file\nreadableGz.pipe(gUnZip).on("error", function(e){ // uncompress file\n console.log("error, " + e);\n});\nRun Code Online (Sandbox Code Playgroud)\n\ngreet.txt 中有一些随机文本,并且所有使用的文件都已在目录中创建,但是当到达最后一行时会触发错误事件
\n所有node操作都是异步的,因此您必须监听finish事件。
readable.pipe(gZip).pipe(writableGz)
.on('finish', function () { // finished
console.log('Done. Now you can start reading.');
});
Run Code Online (Sandbox Code Playgroud)
这是一个工作代码:
const fs = require('fs');
const zlib = require("zlib");
var readable = fs.createReadStream('./greet.txt');
var writableGz = fs.createWriteStream('./greet.txt.gz');
var gZip = zlib.createGzip();
var gUnZip = zlib.createGunzip();
readable
.pipe(gZip)
.pipe(writableGz)
.on('finish', function () { // finished
console.log('Done. Now you can start reading.');
var readableGz = fs.createReadStream('./greet.txt.gz');
readableGz
.pipe(gUnZip) // extract file
.on("error", function (e) {
console.log("error, " + e);
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6826 次 |
| 最近记录: |