java不支持解压rar5的解决办法--引用本地7zip.exe

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

欢迎讨论~

你可能感兴趣的:(java,开发语言,7-zip,winrar)