zip压缩文件解压到指定目录
public void DoTask(){ try{ String zipFilePath = "D:\\UnzipFile\\bd_2018.zip"; String unzipFilePath ="D:\\UnzipFile\\index\\"; UnZipFileTest(new File(zipFilePath),unzipFilePath); }catch (Exception e){ System.out.println(e.getMessage()); } } public void UnZipFileTest(File zipFilePath, String unzipFilePath) throws IOException { File pathFile = new File(unzipFilePath); if(!pathFile.exists()) { pathFile.mkdirs(); } try{ //解决zip文件中有中文目录或者中文文件 ZipFile zip = new ZipFile(zipFilePath, Charset.forName("GBK")); for(Enumeration entries = zip.entries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry)entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zip.getInputStream(entry); String outPath = (unzipFilePath+zipEntryName).replaceAll("\\*", "/"); //判断路径是否存在,不存在则创建文件路径 File file = new File(outPath.substring(0, outPath.lastIndexOf('/'))); if(!file.exists()) { file.mkdirs(); } //判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压 if(new File(outPath).isDirectory()) { continue; } //输出文件路径信息 System.out.println(outPath); OutputStream out = new FileOutputStream(outPath); byte[] buf1 = new byte[1024]; int len; while((len=in.read(buf1))>0) { out.write(buf1,0,len); } in.close(); out.close(); } }catch (IOException e){ System.out.println(e.getMessage()); } System.out.println("******************解压完毕********************"); }