package Testlink; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintStream; import java.nio.charset.Charset; import java.util.Enumeration; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; public class ZIPUtil { private File workspaceFile; private File dirFile; private File jmeterDirectory; private File jmeterZip; private String workspacePath; private String jmeterDirectoryPath; private String jmeterZipPath; public void UnZipFile() throws IOException { workspaceFile = new File(""); workspacePath = workspaceFile.getAbsolutePath(); dirFile = new File(workspacePath); File[] files = dirFile.listFiles(); jmeterDirectoryPath = (workspacePath + "\JmeterFolder"); jmeterDirectory = new File(jmeterDirectoryPath); File[] zipFiles =jmeterDirectory.listFiles(); jmeterZipPath = (jmeterDirectoryPath + "\apache-jmeter-4.0.zip"); jmeterZip = new File(jmeterZipPath); ZipFile zipFile = new ZipFile(jmeterZip, Charset.forName("GBK")); if (files.length != 0) { File[] arrayOfFile1; int j = (arrayOfFile1 = files).length; for (int i = 0; i < j; i++) { File file = arrayOfFile1[i]; if (file.getName().equals("JmeterFolder")) { if (zipFiles.length != 0) { File[] arrayOfFile2; int m = (arrayOfFile2 = zipFiles).length; for (int k = 0; k < m; k++) { File jmeterZipFile = arrayOfFile2[k]; if (jmeterZipFile.getName().equals("apache-jmeter-4.0.zip")) { for (Enumeration entries = zipFile.entries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry) entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zipFile.getInputStream(entry); String outPath = (jmeterDirectoryPath + "\" + zipEntryName).replaceAll("\*", "/"); File jmeterFile = new File(outPath.substring(0, outPath.lastIndexOf('/'))); if (!jmeterFile.exists()) { jmeterFile.mkdirs(); } if (!new File(outPath).isDirectory()) { System.out.println(outPath); OutputStream out = new FileOutputStream(outPath); byte[] buf1 = new byte[1024]; int len; while((len=in.read(buf1, 0, 1024))!=-1) { out.write(buf1, 0, len); } in.close(); out.close(); } } System.out.println("******************解压完毕********************"); } else { System.out.println("apache-jmeter-4.0.zip文件不存在"); } } } else { System.out.println("JmeterFolder文件夹为空"); } } } } else { System.out.println("文件夹内容为空"); } } }