こんにちは。
本日は指定したファイルをGzipで圧縮・伸張するサンプルです。
概要
圧縮のサンプルをgzip.js、
伸張のサンプルをgunzip.jsとします。
圧縮する場合は、
node gzip.js 圧縮対象ファイル 圧縮後ファイル
伸張する場合は、
node gunzip.js 対象gzファイル 伸張後ファイル
と実行してください。
圧縮(gzip.js)
Nodeに標準で用意されているzlibを使用しています。
const fs = require('fs'); const zlib = require('zlib'); const input = process.argv[2]; var output = process.argv[3]; if (!output) { output = "output"; } fs.createReadStream(input) .pipe(zlib.createGzip()) .pipe(fs.createWriteStream(`${output}.gz`)) .on('finish', () => { console.log(`完了:${input} → ${output}.gz`); });
伸張(gunzip.js)
伸張する場合も、 Nodeに標準で用意されているzlibを使用します。
const fs = require('fs'); const zlib = require('zlib'); const input = process.argv[2]; var output = process.argv[3]; if (!output) { output = "output"; } fs.createReadStream(input) .pipe(zlib.createGunzip()) .pipe(fs.createWriteStream(`${output}`)) .on('finish', () => { console.log(`完了:${input} → ${output}`); });
以上です。