1.首先在本地安裝7-Zip(下載連接:https://www.7-zip.org/)
2.調用7-Zip壓縮.zip文件:spa
/** * 生成.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文件:code
/** *解壓.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路徑下能夠找到解壓後的文件 }