Example & Tutorial understanding programming in easy ways.

How to compress and uncompress the data of a file in java?.

 The GZIPCompressUncompressTest class reads a regular text file, "original.txt". It copies this data to a file called "compressed.gz", but as it writes the data, the data passes through a GZIPOutputStream, which compresses the data into gzip format. It then reads "compressed.gz" and it uncompresses the gzip stream of data by passing it through a GZIPInputStream. It writes the uncompressed data to a new text file, "uncompressed.txt". So, this class basically copies "original.txt" to "uncompressed.txt", with the "compressed.gz" as a compressed intermediary file.

Example:

package javatest;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.zip.GZIPInputStream;

import java.util.zip.GZIPOutputStream;

public class CompressUncompressTest {

public static void main(String[] args) throws Exception {

FileInputStream fis = new FileInputStream("original.txt");

FileOutputStream fos = new FileOutputStream("compressed.gz");

GZIPOutputStream gos = new GZIPOutputStream(fos);

doCopy(fis, gos); // copy and compress

FileInputStream fis2 = new FileInputStream("compressed.gz");

GZIPInputStream gis = new GZIPInputStream(fis2);

FileOutputStream fos2 = new FileOutputStream("uncompressed.txt");

doCopy(gis, fos2); // copy and uncompress

}

public static void doCopy(InputStream is, OutputStream os) throws Exception {

int oneByte;

while ((oneByte = is.read()) != -1) {

os.write(oneByte);

}os.close();

is.close();

}}

Read More →