Java Tutorial/File/GZIPOutputStream
GZIP compress by GZIPOutputStream
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GZIPcompress {
public static void main(String[] args) throws IOException {
if (args.length == 0) {
System.out.println("Usage: \nGZIPcompress file\n" + "\tUses GZIP compression to compress "
+ "the file to test.gz");
System.exit(1);
}
BufferedReader in = new BufferedReader(new FileReader(args[0]));
BufferedOutputStream out = new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(
"test.gz")));
System.out.println("Writing file");
int c;
while ((c = in.read()) != -1)
out.write(c);
in.close();
out.close();
System.out.println("Reading file");
BufferedReader in2 = new BufferedReader(new InputStreamReader(new GZIPInputStream(
new FileInputStream("test.gz"))));
String s;
while ((s = in2.readLine()) != null)
System.out.println(s);
}
}
Zip a file with GZIPOutputStream
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.GZIPOutputStream;
public class Main {
public static void main(String[] args) throws Exception {
int sChunk = 8192;
String zipname = "a.gz";
FileOutputStream out = new FileOutputStream(zipname);
GZIPOutputStream zipout = new GZIPOutputStream(out);
byte[] buffer = new byte[sChunk];
FileInputStream in = new FileInputStream(args[0]);
int length;
while ((length = in.read(buffer, 0, sChunk)) != -1)
zipout.write(buffer, 0, length);
in.close();
zipout.close();
}
}