最近在看java解压缩,发现RAR没有公开加密算法,所以java内部没有提供api解压,当时就觉得郁闷的,结果在网上查阅了一些,发现了一个思路,就是可以调用系统的命令解压文件,下面是解压的RAR文件的方法

package zip;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

/**

* 解压rar文件

* 注意:因为rar算法没有公开,我们只能在程序中调用系统安装的rar来解压(系统中必须安装winRAR)

* @author spring sky

* Emal: vipa1888@163.com

* QQ: 840950105

* My Name :石明政

*/

public class UnRARFile {

/**

* 系统安装的winRAR位置

*/

private static final String WINRAR_PATH = "C:\\Program Files\\WinRAR\\WinRAR.exe";

/**

* 解压方法

* @param rarFilePath rar压缩文件的路径

* @param unFilePath 要解压到指定的路径

* @throws IOException IO异常

*/

public static void unRARFile(String rarFilePath,String unFilePath) throws IOException

{

File f = new File(unFilePath);

if(!f.exists()) //如果发现指定解压的路径不存在,创建目录

{

f.mkdirs();

}

String cmd = WINRAR_PATH + " x -r -p -o " + rarFilePath+ " " + unFilePath; //需要执行的命令

Runtime runtime = Runtime.getRuntime(); //得到命令对象

Process process = runtime.exec(cmd); //获取执行命令过程中返回的流

/**

* 下面是打印出流的内容,查看是否有异常

*/

InputStreamReader isr = new InputStreamReader(process.getInputStream());

BufferedReader br = new BufferedReader(isr);

String str = null;

while((str=br.readLine())!=null)

{

if(!"".equals(str.trim())&&str!=null) //如果当前行不为空

{

System.out.println(str);

}

}

br.close();

}

测试类:

/**

* 测试

* @param args

*/

public static void main(String[] args) {

String rarPath = "d:\\a.rar";

String unRarPath = "d:\\abc";

try {

UnRARFile.unRARFile(rarPath, unRarPath);

} catch (IOException e) {

System.out.println("出现异常....");

e.printStackTrace();

}

}

需要注意的是:运行程序下面的弹出框

如果没有加密的话,那就直接点击确定就可以了,如果加密就需要密码解压,直接输入密码就可以解压文件了 .....

java如何解压rar文件怎么打开_java解压RAR压缩文件相关推荐

  1. html解压zip文件怎么打开方式,使用zip.js压缩文件和解压文件

    官方例子支持在线演示效果. 研究的目的是:如何获取zip包中的信息并读取传输(其实使用JAVA或者node.js更容易实现,之所以使用js也是因为业务的特殊性). 准备库: 下载成功解压是这样的,如图 ...

  2. java导出文件到excel文件怎么打开_Java导出数据到Excel文件

    Java导出数据到Excel文件需要的jar包:easypoi-0.1.3.jar, poi-3.7-20101029 package com.sais.inkaNet.reportStatistic ...

  3. 已解决解压zip文件,抛出异常:不可预料的压缩文件末端的正确解决方法(亲测有效)

    已解决解压zip文件,抛出异常:不可预料的压缩文件末端的正确解决方法(亲测有效) 文章目录 报错问题 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错 报错问题 粉丝群里面的一个小伙伴遇到 ...

  4. Unity 工具类 之 WWW/UnityWebRequest 下载压缩文件(zip),解压到本地且加载使用解压数据的简单案例(内也含压缩文件例子)

    Unity 工具类 之 WWW/UnityWebRequest 网络下载压缩文件(zip),解压到本地,且加载使用解压数据的简单案例(内也含压缩文件例子) 目录 Unity 工具类 之 WWW/Uni ...

  5. linux解压文件卡住,Linux系统下常见的压缩文件及解压方法

    如果tar不支持j这个参数就先用 bzip2 -d xxx.tar.bz2 把它解压成.tar文件,然后再用 tar xvf xxx.tar 拆包. 压缩解压 linux下怎么解后缀名是gzip的文件 ...

  6. Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示“不可预料的压缩文件末端”和“CRC校验失败”

    Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示"不可预料的压缩文件末端"和"CRC校验失败" WinRAR 打开情况: 提示不可预料的压缩 ...

  7. mysql格式是什么文件怎么打开_sql文件怎么打开,SQL格式是什么文件?

    SQL格式是什么文件? 学习编程的同学可能都知道SQL是一种高级的非过程化的编程语言,雷同于office Access.但是后者大家用的可能比较多,会计专业的同学可能都会考这方面的证书.SQL在数据库 ...

  8. 压缩包里面是html文件怎么打开方式,展示电脑rar压缩包文件怎么打开?教你正确打开方式...

    不管是生活还是工作需要,经常需要把文件打包处理,这样可以避免在发送文件的时候出现丢失或损坏文件,那么总会收到rar格式的文件,如何打开rar格式的文件呢?今天跟小编一起看下打开rar格式文件的详细操作 ...

  9. php解压base64编码,PHP函数分享之解压缩base64压缩文件

    解压缩base64 压缩文件,稍微解释一下,比如你有一个pdf文件,使用软件压缩成了.gz格式的文件,然后再把这个文件做成了basa64 String 传输给某个人,比如这个人就是我,好吧,问题来了, ...

  10. java音频文件怎么打开_java 怎么读取音乐文件

    展开全部 以随机读写方式打开一个MP3文件 将文件指针32313133353236313431303231363533e58685e5aeb931333337613838偏移量移动到文件长度倒数128 ...

最新文章

  1. SoftReference
  2. linux 脚本案例,30个关于Shell脚本的经典案例(上)
  3. MySQL默认值(DEFAULT)
  4. 剑指-二维数组中的查找
  5. 介绍一个能开发简单SAP UI5应用的在线IDE:StackBlitz
  6. python文件图标变成小电脑_手把手教你给Python程序写图形界面,并且打包成exe文件-exe文件...
  7. Linq To Sql进阶系列 -目录导航
  8. 微信小程序 - 按照官网文档构建npm包 - 提示【没有找到可以构建的npm】
  9. Android 系统(94)---android系统属性(ro.com.google.clientidbase.ms)随卡适配
  10. sql server 2005学习笔记之触发器简介(一)
  11. Python模块下载常用地址
  12. 计算机英语词典 txt,9种Txt格式朗文英语词典免费分享
  13. rms 文档权限服务器,Rms操作设置office系统文档权限
  14. php模板读取工具,打造自己的php半自动化代码审计工具
  15. 【转贴】古代四大名琴
  16. TP-LINK如何设置Wifi无线上网短信认证?
  17. Java如何判断一个上传文件的内容类型
  18. TensorFlow调试之一种很笨但行之有效的调试方案
  19. 英语2017年6月听力
  20. buddypress主题_如何在WordPress 3.0中启用BuddyPress

热门文章

  1. ubuntu各文件夹简介
  2. 移动端UML图应用之UML结构图——包图、部署图和组件图
  3. 天地图API搜索。定位等
  4. 基于SuperMap iDesktop制作天地图1--10级详细说明
  5. Python简单模拟微信发红包
  6. IP地址冲突问题的解决方法
  7. 关键词搜索-关键词搜索引擎工具-关键词搜索排行榜
  8. 计算机怎么清理硬盘,怎样清理磁盘?教你清理电脑磁盘的具体步骤
  9. 网吧服务器怎么加无线路由器,网吧有线路由器接无线路由该如何设置?
  10. Python 数据可视化--Seaborn绘图总结1