1.首先在本地安装7-Zip(下载链接:https://www.7-zip.org/)
2.调用7-Zip压缩.zip文件:
/** * 生成.zip压缩文件 * @param filePath 需要压缩的文件路径 * @param zipFileName 生成压缩文件的文件名(全路径) * @throws Exception */ public static void generateZipFile(String filePath, String zipFileName) throws Exception { //zipToolPath 是本地7-Zip软件的安装路径 String zipToolPath = "C:/Program Files/7-Zip/7z.exe"; zipToolPath = zipToolPath .replaceAll(" ", "\" \"");//所有空格都替换成带有双引号的空格 String exec = zipToolPath + " a " + zipFileName + " -r *.*"; File file = new File(filePath); Runtime.getRuntime().exec(exec,null,file); //执行成功后在ZipFileName路径下可以找到相应的压缩文件 }
3.调用7-Zip解压.zip文件:
/** *解压.zip文件 * @param zipFilePath 需要解压的文件路径 * @param targetFilePath 解压后文件保存目录 * @param logPath log文件的路径 * @throws Exception */ public static void unZipFile(String zipFilePath, String targetFilePath,String logPath) throws Exception { //zipToolPath 是本地7-Zip软件的安装路径 String zipToolPath = "C:/Program Files/7-Zip/7z.exe"; zipToolPath = zipToolPath .replaceAll(" ", "\" \"");//所有空格都替换成带有双引号的空格 String exec = zipToolPath + " x " + zipFilePath + " -o"+targetFilePath +"-aoa -bse1 >"+ logPath;//将解压过程写入log文件中 Runtime.getRuntime().exec(exec); //执行成功后在targetFilePath路径下可以找到解压后的文件 }