出典:node.jsのいろいろなモジュール1 – node-gzip
自分の環境ではgzipが上手く動かなかったので、zlibを使用するように変更。
ただ、gzipはWindowsではポピュラーではないので、zip圧縮用のモジュールを探すことに。
gzip圧縮
writeFileよりwriteFileSync、readFileよりreadFileSyncの方が安全な気が
gzip.js
var fs = require('fs');
var zlib = require('zlib');
fs.readFile('./input.txt', "utf-8", function(err, strData) {
if (err) {
throw err;
}
//圧縮対象のデータを渡し、そのデータを圧縮してファイルに出力
zlib.gzip(strData, function(err, compData) {
return fs.writeFile('./output.gz', compData, function(err) {
if (err) {
throw err;
}
console.log('compress done.');
});
});
});
gunzip解凍
gunzip.js
var fs = require('fs');
var zlib = require('zlib');
fs.readFile('./output2.gz', function(err, compData) {
if (err) {
throw err;
}
//圧縮された解凍対象のデータを渡し、そのデータを解凍してファイルに出力
zlib.gunzip(compData, function(err, strData) {
return fs.writeFile('./output2.txt', strData, function(err) {
if (err) {
throw err;
}
console.log('unzip done.');
});
});
});