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