Java解壓zip文件的症結代碼。本站提示廣大學習愛好者:(Java解壓zip文件的症結代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是Java解壓zip文件的症結代碼正文
空話不多說了,給年夜家貼症結代碼了,詳細代碼以下所示:
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文件的症結代碼,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!