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
FileOutputStreamto the destination file, that is the file path to the output compressed file. - Create a
GZIPOutputStreamto the aboveFileOutputStream. - Create a
FileInputStreamto 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.
