由于rar5算法未開源,沒有合適的JAVA依賴能夠解決解壓rar5。在運行中報錯: javacom.github.junrar.exception.RarException: badRarArchive
通過引用本地7zip.exe,命令行執行解決:
private static void unZipRar5File(String filePath, String unzipFilePath, String zipExePath) {try {Process process = Runtime.getRuntime().exec(zipExePath + " x " + filePath + " -o" + unzipFilePath);int exitCode = process.waitFor();if (exitCode == 0) {System.out.println("解壓成功");} else {System.out.println("解壓失敗");}} catch (IOException | InterruptedException e) {System.out.println("rar文件解壓異常");e.printStackTrace();}}
其中 filePath是待解壓rar5文件的路徑
unzipFilePath是想解壓到的文件夾路徑
zipExePath是本地7z.exe的路徑 ,如: “C:\software\7-Zip\7z.exe”
文件路徑注意轉義符問題即可 。
歡迎討論~