📅  最后修改于: 2020-12-24 06:06:53             🧑  作者: Mango
Node.js Zlib模块用于提供压缩和解压缩(zip和unzip)功能。它使用Gzip和deflate / inflate实现。
可以使用以下命令访问zlib模块:
const zlib = require('zlib');
可以通过zlib流将源流数据通过管道传输到目标流中来完成文件的压缩和解压缩。
让我们看一下一个Node.js ZLIB模块的简单示例,该模块将文件“ input.txt”压缩为“ input.txt.gz”。
档案:zlib_example1.js
const zlib = require('zlib');
const gzip = zlib.createGzip();
const fs = require('fs');
const inp = fs.createReadStream('input.txt');
const out = fs.createWriteStream('input.txt.gz');
inp.pipe(gzip).pipe(out);
我们在桌面上有一个名为“ input.txt”的文本文件。
打开Node.js命令提示符并运行以下代码:
node zlib_example1.js
您会看到它将在桌面上生成一个名为“ input.txt.gz”的压缩文件。
让我们看一下Node.js ZLIB模块的简单示例,该模块将文件“ input.txt.gz”解压缩为“ input2.txt”。
档案:zlib_example2.js
const zlib = require('zlib');
const unzip = zlib.createUnzip();
const fs = require('fs');
const inp = fs.createReadStream('input.txt.gz');
const out = fs.createWriteStream('input2.txt');
inp.pipe(unzip).pipe(out);
node zlib_example2.js
现在,您将看到“ input2.txt”文件中提供了相同的“ input.txt”代码。
为了很好地理解此示例,请创建具有大量数据的“ input.txt”文件。假设它具有40 kb的数据。压缩该文件后,您将获得压缩文件“ input.txt.gz”的大小仅为1 kb。解压缩“ input.txt.gz”文件后,您将获得40 kb的相同数据到“ input2.txt”文件中。