Java Tutorial/File/GZIPInputStream
Содержание
Create GZIPInputStream from FileInputStream
<source lang="java">
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; public class MainClass {
public static void main(String[] args) { for (int i = 0; i < args.length; i++) { if (args[i].toLowerCase().endsWith(".gz")) { try { FileInputStream fin = new FileInputStream(args[i]); GZIPInputStream gzin = new GZIPInputStream(fin); FileOutputStream fout = new FileOutputStream(args[i].substring(0, args[i].length() - 3)); for (int c = gzin.read(); c != -1; c = gzin.read()) { fout.write(c); } fout.close(); } catch (IOException ex) { System.err.println(ex); } } else { System.err.println(args[i] + " does not appear to be a gzipped file."); } } }
}</source>
Get Entry from a zip file
<source lang="java">
import java.io.FileInputStream; import java.util.Date; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class ZipReader {
public static void main(String[] args) throws Exception { ZipInputStream zis = null; FileInputStream fis = new FileInputStream(args[0]); zis = new ZipInputStream(fis); ZipEntry ze; while ((ze = zis.getNextEntry()) != null) System.out.println(ze.getName() + " [" + ze.getSize() + "] [" + new Date(ze.getTime()).toString() + "]"); }
}</source>
Ugzip using GZIPInputStream
<source lang="java">
import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; public class MainClass {
public static void main(String[] args) { for (int i = 0; i < args.length; i++) { if (args[i].toLowerCase().endsWith(".gz")) { try { FileInputStream fin = new FileInputStream(args[i]); GZIPInputStream gzin = new GZIPInputStream(fin); FileOutputStream fout = new FileOutputStream(args[i].substring(0, args[i].length() - 3)); for (int c = gzin.read(); c != -1; c = gzin.read()) { fout.write(c); } fout.close(); } catch (IOException ex) { System.err.println(ex); } } else { System.err.println(args[i] + " does not appear to be a gzipped file."); } } }
}</source>
Unzip a file with GZIPInputStream
<source lang="java">
import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.GZIPInputStream; public class Main {
public static void main(String[] args) throws Exception { int sChunk = 8192; String zipname = "a.txt.gz"; String source = "a.txt"; FileInputStream in = new FileInputStream(zipname); GZIPInputStream zipin = new GZIPInputStream(in); byte[] buffer = new byte[sChunk]; FileOutputStream out = new FileOutputStream(source); int length; while ((length = zipin.read(buffer, 0, sChunk)) != -1) out.write(buffer, 0, length); out.close(); zipin.close(); }
}</source>