Java 解压目录上的zip文件
Java 解压目录下的zip文件
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile;
public void parseZIP(){ List<String> list = new ArrayList<String>(); File[] files = new File("存放压缩文件的那个目录").listFiles(); for (File file : files) { if (file.getName().endsWith(".zip")){ //找出以.zip结尾的文件 list.add(file.getPath()); } } for(int i = 0; i < list.size(); i++){ String filePath = list.get(i); String destDir = "解压到的目标目录"; destDir = destDir.endsWith("\\") ? destDir : destDir + "\\"; byte b[] = new byte[512]; int length; ZipFile zipFile; try { zipFile = new ZipFile(new File(filePath)); Enumeration enumeration = zipFile.entries(); ZipEntry zipEntry = null; while (enumeration.hasMoreElements()) { zipEntry = (ZipEntry) enumeration.nextElement(); if(zipEntry.getName().endsWith(".xml")){ //只解压出其中的XML文件 File loadFile = new File(destDir + zipEntry.getName()); if (zipEntry.isDirectory()) { loadFile.mkdirs(); } else { if (!loadFile.getParentFile().exists()) loadFile.getParentFile().mkdirs(); OutputStream outputStream = new FileOutputStream(loadFile); InputStream inputStream = zipFile.getInputStream(zipEntry); while ((length = inputStream.read(b)) > 0) { outputStream.write(b, 0, length); } } } } } catch (IOException e) { } } }