從ZIP檔案中解壓縮和提取資料
1.java.util.zip包提供了資料壓縮與解壓縮所需要的類。ZIP檔案的解壓縮實質上就是從輸入流中讀取資料,Java.util.zip包提供了類ZipInputStream來讀取ZIP檔案。ZipInputStream流的建立與其它輸入流的建立沒什麼兩樣。舉個例子,下面的代碼段建立了一個輸入流來讀取ZIP格式的檔案:java.util.zip包提供了資料壓縮與解壓縮所需要的類。ZIP檔案的解壓縮實質上就是從輸入流中讀取資料。Java.util.zip包提供了類ZipInputStream來讀取ZIP檔案。ZipInputStream流的建立與其它輸入流的建立沒什麼兩樣。舉個例子,下面的代碼段建立了一個輸入流來讀取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.