java 解zip文件(ZipInputStream) 收藏
從ZIP文件中解壓縮和提取數(shù)據(jù) 1.java.util.zip包提供了數(shù)據(jù)壓縮與解壓縮所需要的類。ZIP文件的解壓縮實質(zhì)上就是從輸入流中讀取數(shù)據(jù),Java.util.zip包提供了類ZipInputStream來讀取ZIP文件。ZipInputStream流的創(chuàng)建與其它輸入流的創(chuàng)建沒什么兩樣。舉個例子,下面的代碼段創(chuàng)建了一個輸入流來讀取ZIP格式的文件:java.util.zip包提供了數(shù)據(jù)壓縮與解壓縮所需要的類。ZIP文件的解壓縮實質(zhì)上就是從輸入流中讀取數(shù)據(jù)。Java.util.zip包提供了類ZipInputStream來讀取ZIP文件。ZipInputStream流的創(chuàng)建與其它輸入流的創(chuàng)建沒什么兩樣。舉個例子,下面的代碼段創(chuàng)建了一個輸入流來讀取ZIP格式的文件: package zip; import java.io.*; import java.util.zip.*; public class UnZip { static final int BUFFER = 2048; public static void main(String argv[]) { try { BufferedOutputStream dest = null; FileInputStream fis = new FileInputStream("D:/project/test/down/down.zip"); ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis)); ZipEntry entry; while ((entry = zis.getNextEntry()) != null) { System.out.println("Extracting: " + entry); int count; byte data[] = new byte[BUFFER]; // write the files to the disk FileOutputStream fos = new FileOutputStream("D:/project/test/unzip/"+entry.getName()); dest = new BufferedOutputStream(fos, BUFFER); while ((count = zis.read(data, 0, BUFFER)) != -1) { dest.write(data, 0, count); } dest.flush(); dest.close(); } zis.close(); } catch (Exception e) { e.printStackTrace(); } } } 2.
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/alexjjf/archive/2006/11/06/1370338.aspx |
|