JAVA解压RAR5压缩包
import lombok.extern.slf4j.Slf4j;import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;/*** @description: rar解压, 调用winrar.exe* @author: wujie* @create: 2020-07-21 10:03**/
@Slf4j
public class UnRar5Utils {//系统安装的winRAR位置private static final String WINRAR_PATH = "C:\\Program Files\\WinRAR\\WinRAR.exe";/*** windows 解压方法 * @param rarFilePath rar压缩文件路径* @param unFilePath 指定解压路径* @throws IOException * @throws InterruptedException*/public static void unRARFileWindows(String rarFilePath, String unFilePath) throws IOException, InterruptedException {File file = new File(unFilePath);if (!file.exists()) {file.mkdirs();}String cmd = WINRAR_PATH + " x -r -o+ -ibck -y " + rarFilePath + " " + unFilePath;Runtime runtime = Runtime.getRuntime();Process process = runtime.exec(cmd);InputStreamReader isr = new InputStreamReader(process.getInputStream(), "gbk");BufferedReader br = new BufferedReader(isr);br.close();//等待cmd 命令执行完成process.waitFor();}/*** 采用命令行方式解压文件 Linux* <p>* linux中安装unrar* (1)上传unrar到linux服务器* 如 /usr 路径* (2)解压到指定路径:* tar -zxf /usr/rarlinux-x64-5.7.1.tar.gz -C /usr/local/* (3)建立软连接:必须要有软连接,类似于jdk的环境变量,保证可以在任意目录下使用rar和unrar命令* ln -s /usr/local/rar/rar /usr/local/bin/rar* ln -s /usr/local/rar/unrar /usr/local/bin/unrar* (4)测试是否创建成功* **在任意路径输入下列命令*** rar* unrar* **出现如下信息表示安装成功*** RAR 5.71 Copyright (c) 1993-2019 Alexander Roshal 28 Apr 2019* Trial version Type 'rar -?' for help** @param rarFilePath 压缩文件路径+文件名* @param destDir 指定解压路径* @return*/public static boolean unRARFileLinux(String rarFilePath, String destDir) throws Exception {log.debug("begin unrar rarFilePath:{},destDir:{}", rarFilePath, destDir);boolean bool = false;File rarFile = new File(rarFilePath);if (!rarFile.exists()) {log.warn(":{} is not exist", rarFilePath);return false;}File destDirPath = new File(destDir);if (!destDirPath.exists()) {destDirPath.mkdirs();}// 开始调用命令行解压,参数-o+是表示覆盖的意思// String cmdPath = "/usr/local/bin/unrar"; 如果linux做了软连接 不需要这里配置路径String cmd = "rar" + " X -o+ " + rarFile + " " + destDir;log.debug("cmd :{}", cmd);Process proc = Runtime.getRuntime().exec(cmd);if (proc.waitFor() != 0) {if (proc.exitValue() == 0) {bool = false;}} else {bool = true;}log.debug("unRar " + (bool ? "success" : "failed"));return bool;}
}
JAVA解压RAR5压缩包相关推荐
- java解压rar5 兼容rar4
才发现java库没有对rar5压缩算法实现,网上找了一大堆资料,基本都是调用命令的方式,要集成到项目里是很麻烦的,所以一直奔着java解压rar5的目标去找,终于在github上找到了已经实现好的库, ...
- java解压rar5 兼容rar4(改bug)
本篇是为修改原作者bug,原作者:java解压rar5 兼容rar4_So straw?-CSDN博客 在我测试时发现bug,此方法 public int write(byte[] data) thr ...
- Java解压rar5压缩文件
使用代码解压压缩文件,并指定解压后路径 导入依赖 <dependency><groupId>com.github.axet</groupId><artifac ...
- java解压zip压缩包报错MALFORMED问题解决
使用 ZipArchiveInputStream zipInputStream = new ZipArchiveInputStream(file.getInputStream(), "GBK ...
- java解压加密压缩包
https://blog.csdn.net/qq_38723394/article/details/80853154
- java读取zip文件名_java无需解压zip压缩包直接读取包内的文件名(含中文)
java自带了java.util.zip工具可以实现在不解压zip压缩包的情况下读取包内文件的文件名:(注:只能是ZIP格式的,rar我试了不行)代码如下: public static String ...
- java压缩包解压之后怎么安装_解压之后压缩包可以删除吗
1.在电脑正常安装解压缩软件的前提下,右键选择解压,将该文件解压到指定位置.2.解压完成后该文件即可正常运行,如果该文件是一般文档,打开即可查看或者使用,如果该文件是软件程序,选择setup.exe文 ...
- Java解压文件Zip,War,Tar,TarGz格式
Java压缩和解压缩 压缩和解压缩依赖 关于Java解压Zip文件的java.lang.IllegalArgumentException:MALFORMED报错问题. 解压缩代码 Zip解压缩 War ...
- gz解压java,java 解压gz
场景: java解压gz文件,这个是在linux下实验过的 下面是网上的代码 http://www.iteye.com/topic/894879 import java.io.FileInputStr ...
最新文章
- Linux编程题:信号量同步三进程依次打印若干次ABC
- node.js 验证路径有效性_怎样识别光伏谐波路径?试试这个算法
- 工作几年了,API 网关还不懂?
- mhd格式三维图像显示_人体面骨三维有限元模型重构及碰撞分析
- 数据库迁移用到的命令
- asp.net UrlRewrite 技术的实现
- C# 3.0 New Language Features (Part 1)
- SpringBoot入门 (一) HelloWorld
- 恢复删除的Exchange邮箱
- 关于LeNet-5卷积神经网络 S2层与C3层连接的参数计算的思考???
- IOS错误---“A valid provisioning profile for this executable was not found”
- 2019美赛C题o奖论文结构整理
- 《第一行代码第三版》总结篇
- HANA SQL基础
- 同源、跨域、跨站、SameSite与withCredentials
- 刨根究底字符编码之九——字符编码方案的演变与字节序
- 博客实现浏览量统计次数
- 制作一个每日一图小工具
- 手把手教你,Stanford Drone 数据集的正确打开方式
- JavaScript手机号码号段校验
热门文章
- 多线程与高并发(咕泡)
- Java基础4:值传递
- CSDN夏令营初体验:优麒麟在线中英文字典
- matlab米氏方程作图,双倒数作图法米氏方程
- CodeForces - 1234B1 Social Network (easy version)
- 开源 iOS 性能优化/调试辅助工具集 MTHawkeye
- SS00014.elasticsearch——|HadoopElasticSearch集中式日志分析系统.v14|——|Elasticsearch.v14|
- Spark2.1.0安装与配置(单机版)
- 毫米波太赫兹电路板设计--高频电路板布线损耗分析
- 算了,批量下载吧,我的ECMWF数据