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路径下可以找到解压后的文件
}