Java Tutorial/File/GZIPOutputStream
GZIP compress by GZIPOutputStream
<source lang="java">
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); }
}</source>
Zip a file with GZIPOutputStream
<source lang="java">
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(); }
}</source>