Node.js – Using Zlib for compressing and decompressing files

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.

Add a Comment

Your email address will not be published. Required fields are marked *

*
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