Articles Directory

  • 0

How to Compress a File in GZIP format in Java

In this tutorial we are going to see how you can compress a File in Java using the GZIP compression method.

So, to perform File compression using GZIP in Java, you have to:

  • Create a FileOutputStream to the destination file, that is the file path to the output compressed file.
  • Create a GZIPOutputStream to the above FileOutputStream.
  • Create a FileInputStream to the file you want to compress
  • Read the bytes from the source file and compress them using GZIPOutputStream.

 
Let’s take a look at the code snippet that follows:

package com.hafana.java.core;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

public class CompressFileGzip {

	public static void main(String[] args) {

		
		String source_filepath = "C:\\Users\\name\\Desktop\\files\\test.txt";
		String destinaton_zip_filepath = "C:\\Users\\name\\Desktop\\files\\test.gzip";

		CompressFileGzip gZipFile = new CompressFileGzip();
		gZipFile.gzipFile(source_filepath, destinaton_zip_filepath);
	}

	public void gzipFile(String source_filepath, String destinaton_zip_filepath) {

		byte[] buffer = new byte[1024];

		try {
			
			FileOutputStream fileOutputStream =new FileOutputStream(destinaton_zip_filepath);

			GZIPOutputStream gzipOuputStream = new GZIPOutputStream(fileOutputStream);

			FileInputStream fileInput = new FileInputStream(source_filepath);

			int bytes_read;
			
			while ((bytes_read = fileInput.read(buffer)) > 0) {
				gzipOuputStream.write(buffer, 0, bytes_read);
			}

			fileInput.close();

			gzipOuputStream.finish();
			gzipOuputStream.close();

			System.out.println("The file was compressed successfully!");

		} catch (IOException ex) {
			ex.printStackTrace();
		}
	}

}

 

loading...

Related posts

Related posts