由于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”
文件路径注意转义符问题即可 。
欢迎讨论~