Java Zip Compression Examples
http://www.example-code.com/java/zip.asp
http://hi.baidu.com/csacer/blog/item/329439311531bb02ebc4afb3.html/cmtid/2c6273fa98dc6511a8d311da
http://www.keygenguru.com/serial/chilkat_zip_v7_0_3.html
How to extract Java resources from JAR and zip archives
http://www.javaworld.com/javaworld/javatips/jw-javatip49.html?page=1
如何通過java,不進行解壓zip/rar檔案操作,就把壓縮檔中的檔案名稱給讀取出來?
package com.lch.test;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class ZIP {
public static void main(String[] argv) throws Exception {
ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");
for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
String zipEntryName = ((ZipEntry) entries.nextElement()).getName();
System.out.println(zipEntryName);
}
}
}
但是要注意中文亂碼問題
http://bbs.bccn.net/thread-344366-1-1.html
ZipInputStream是一個指向ZIP檔案的流,這個流最重要的方法就是getNextEntry方法,一個zip檔案可以包含好幾個被壓縮的檔案,這個方法的功能就是返回下一個目錄項,也就是返回zip檔案中的下一項,並且把流指向這個目錄檔案項。
getNextEntry的傳回值是ZipEntry,它表示zip檔案中的一個項,它可以返回這個檔案項的大小、名稱等。你可以根據它返回的檔案大小調用ZipInputStream的read方法來讀取需要的位元組。
給你一個例子:
public class ZipTest {
public static void main(String args[]) throws FileNotFoundException, IOException{
ZipInputStream zis = new ZipInputStream(new FileInputStream ("c://a.zip"));//產生讀取ZIP檔案的流
ZipEntry ze = zis.getNextEntry();//取得下一個檔案項
long size = ze.getSize();//取得這一項的大小
FileOutputStream fos = new FileOutputStream("c://"+ze.getName());//產生輸出檔案對象
for(int i= 0;i<size;i++){//迴圈讀取檔案並寫入輸出檔案對象
byte c = (byte)zis.read();
fos.write(c);
}
fos.close();
zis.close();
}
}
http://wenwen.soso.com/z/q190504968.htm
關於java解壓zip與rar的問題
http://www.cnblogs.com/shenhaocn/archive/2010/01/13/1646510.html
用java解壓縮zip和rar的工具類
http://biguan.iteye.com/blog/1073173