Java Tutorial/File/GZIPOutputStream

Материал из Java эксперт
Перейти к: навигация, поиск

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>