Home » Featured, Headline, Software Development

Node.js – Using Zlib for compressing and decompressing files

10 March 2017 No Comment

The Zlib module in Node.js provides compression and decompression functionality implemented using Gzip and Deflate/Inflate.

Refer to the sample code below, two functions compress() and decompress() respectively.

// access the libraries
const zlib = require('zlib');  
const fs = require('fs'); 

function compress(inFilename, outFilename) { 
  const gzip = zlib.createGzip();
  const input = fs.createReadStream(inFilename);  
  const output = fs.createWriteStream(outFilename);  
  input.pipe(gzip).pipe(output);
} 

function decompress(inFilename, outFilename) { 
  const unzip = zlib.createUnzip();  
  const input = fs.createReadStream(inFilename);  
  const output = fs.createWriteStream(outFilename);  
  
  input.pipe(unzip).pipe(output); 
}

// compress file <em>my-document.txt</em> in same directory and output as <em>my-document.gz</em>
compress('my-document.txt', 'my-document.gz');

// decompress file <em>my-document.gz</em> in same directory and output as <em>my-document.txt</em>
decompress('my-document.gz', 'my-document.txt');

Compression and Decompression made easier with built-in Node.js libraries.

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image