FileInputStreamFileOutputStreamGZIPOutputStream
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 aboveFileOutputStream
. - 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.javacodegeeks.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\\nikos7\\Desktop\\files\\test.txt"; String destinaton_zip_filepath = "C:\\Users\\nikos7\\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(); } } }
Output:
The file was compressed successfully!
This was an example on how to compress files in Java with the GZIP method.