JAVA解压ZIP文件

mac2022-06-30  122

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; 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();//解压完以后将压缩包删除 }

转载于:https://www.cnblogs.com/bilaisheng/p/10211026.html

最新回复(0)