package com.insigma.utils; import com.insigma.config.AppCfg; import java.io.File; /** * (ZipUtil 类) * * @author zhangxianwei * @since 17:34 2022/4/18 */ public class ZipUtil { private static final String SX = "/"; private static final String XX = "\\"; public static void zip7Z(String dirName, String zipFileName) { File file = new File(dirName); if(file.exists()){ if (XX.equals(File.separator)) { String cmd7z = getRootPath() + "7-Zip/7z.exe"; try { String cmd = "cmd.exe /c " + cmd7z.trim().replace(" ", "\" \"") + " a -tzip \"" + zipFileName + "\" \"" + dirName + "\\*\""; new WinCommandUtil(cmd).run(); } catch (Exception ie) { ie.printStackTrace(); } } else if (SX.equals(File.separator)) { try { String cmd777 = "chmod -R 777 "+dirName; new LinuxCommandUtil(cmd777).run(); int index = cmd777.lastIndexOf(File.separator); String cmd777Short = cmd777.substring(0,index); new LinuxCommandUtil(cmd777Short).run(); String cmd = "7z a "+zipFileName+" "+dirName+" "; new LinuxCommandUtil(cmd).run(); } catch (Exception ie) { ie.printStackTrace(); } } } } public static void unZip7Z(String filepath, String destinationDir) { File file = new File(filepath); if(file.exists()){ if (XX.equals(File.separator)) { String cmd7z = getRootPath() + "7-Zip/7z.exe"; try { String cmd = "cmd.exe /c " + cmd7z.trim().replace(" ", "\" \"") + " x \"" + filepath + "\" -o\"" + destinationDir + "\" " + " -y "; new WinCommandUtil(cmd).run(); } catch (Exception ie) { ie.printStackTrace(); } } else if (SX.equals(File.separator)) { try { String cmd777 ="chmod -R 777 "+filepath+File.separator; new WinCommandUtil(cmd777).run(); String cmd = "unzip -o "+filepath+" -d "+destinationDir+""; new WinCommandUtil(cmd).run(); new WinCommandUtil(cmd777).run(); } catch (Exception ie) { ie.printStackTrace(); } } } } private static String getRootPath() { return AppCfg.HZB + "/tomcat8/webapps/qggwy/WEB-INF/classes/static/softTools/"; } }