就是java 对winrar5.0解压的问题
在网上搜了一堆资料 发现 java只能对rar4.0版本 进行解压
最主要的问题是 他那个 第三方依赖包 只支持5.0以下版本
那我怎么做 才行
网上还有个第二张思路 就是找到 window 下面的winara.exe 去 解压
但是问题来了 winara 在我自己电脑里面是放在c盘下面的
在别人的电脑中 那我怎么获取 他放的 winar.exe 这个存放路径呢
1.使用第三法jar包读取或者模拟执行cmd命令来获取注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Classes\WinRAR\shell\open\command的默认值。
2.获取到的值就是winrar的路径,一般是X:\Program Files\WinRAR\WinRAR.exe,再使用cmd的方式按照你找的那些解压命令来解压就行了。
傻,目标电脑i还不一定装了rar呢,怎么办?你不能发布你软件的时候自己带一个winrar.exe,放在程序目录里,一起给用户,万事不都解决了。
如果java确实搞不得,网上找看看有没有可用的工具类,如果你项目是部署在linux下,那用linux自带解压命令去解压,如果可以,那完全可以通过java执行系统命令
去执行解压,这是一个替代方案,如果以上都不行那自己研究下5.的压缩协议,自己手动去解,不过这个可不容易