廢話不多說了,給大家貼關鍵代碼了,具體代碼如下所示:
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipFile;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;/** * @date 創建時間:2016年9月25日上午11:06:46 * @version 1.0 * @parameter * @since 2016年9月25日上午11:06:46* @return */public class unZipFiles { //zip文件路徑String fileAddress = "D://test.zip"; //zip文件解壓地址String unZipAddress = "F://unZipFiles//"; //去目錄下尋找文件File file = new File(fileAddress); ZipFile zipFile = null; try { zipFile = new ZipFile(file,"GBK");//設置編碼格式} catch (IOException exception) { exception.printStackTrace(); System.out.println("解壓文件不存在!"); } Enumeration e = zipFile.getEntries(); while(e.hasMoreElements()) { ZipEntry zipEntry = (ZipEntry)e.nextElement(); if(zipEntry.isDirectory()) { String name = zipEntry.getName(); name = name.substring(0,name.length()-1); File f = new File(unZipAddress + name); f.mkdirs(); } else { File f = new File(unZipAddress + zipEntry.getName()); f.getParentFile().mkdirs(); f.createNewFile(); InputStream is = zipFile.getInputStream(zipEntry); FileOutputStream fos = new FileOutputStream(f); int length = 0; byte[] b = new byte[1024]; while((length=is.read(b, 0, 1024))!=-1) { fos.write(b, 0, length); } is.close(); fos.close(); } } if (zipFile != null) { zipFile.close(); } file.deleteOnExit();//解壓完以後將壓縮包刪除}好了,代碼到此結束,以上所述是小編給大家介紹的Java解壓zip文件的關鍵代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!