In this post we'll see how to use GZIP to compress and decompress a file in Java. You will mainly use GZIP tool to compress and decompress files in Unix systems. Here note that you can only compress a single file using GZIP not multiple files residing in a folder. Show Refer Creating Tar File And GZipping Multiple Files - Java Program to see how to gzip multiple files in Java. Steps to gzip a fileIn order to compress a file using GZIP in Java the steps are as follows-
Steps to decompress a fileIn order to decompress a file using GZIP in Java the steps are as follows -
Java example for compressing and decompressing file in GZIP formatimport java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream; public class GZipDemo { public static void main(String[] args) { // Path to file which is gzipped String SOURCE_FILE = "G:\\Test\\abc.txt"; // Path to gzipped output files String GZIP_OUTPUT_FILE = "G:\\Test\\abc.gz"; // File you get after decompressings String GZIP_NEW_FILE = "G:\\Test\\newabc.txt"; GZipDemo gZipDemo = new GZipDemo(); try { // Compressing a file gZipDemo.compressGZipFile(SOURCE_FILE, GZIP_OUTPUT_FILE); // decompressing a file gZipDemo.deCompressGZipFile(GZIP_OUTPUT_FILE, GZIP_NEW_FILE); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * Method to gzip a file * @param sourceFile * @param outputFile * @throws IOException */ public void compressGZipFile(String sourceFile, String outputFile) throws IOException{ FileInputStream fis = new FileInputStream(sourceFile); FileOutputStream fos = new FileOutputStream(outputFile); GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(fos); byte[] buffer = new byte[1024]; int len; while((len = fis.read(buffer)) > 0){ gZIPOutputStream.write(buffer, 0, len); } // Keep it in finally fis.close(); gZIPOutputStream.close(); } /** * Method to decompress a gzip file * @param gZippedFile * @param newFile * @throws IOException */ public void deCompressGZipFile(String gZippedFile, String newFile) throws IOException{ FileInputStream fis = new FileInputStream(gZippedFile); GZIPInputStream gZIPInputStream = new GZIPInputStream(fis); FileOutputStream fos = new FileOutputStream(newFile); byte[] buffer = new byte[1024]; int len; while((len = gZIPInputStream.read(buffer)) > 0){ fos.write(buffer, 0, len); } // Keep it in finally fos.close(); gZIPInputStream.close(); } }That's all for this topic Compress And Decompress File Using GZIP Format in Java. If you have any doubt or any suggestions to make please drop a comment. Thanks! >>>Return to Java Programs Page Related Topics
You may also like-
|