JAVA JDK中的解压缩似乎不能解压缩我们手工压缩的RAR文件,只能解压JDK中的API压缩的RAR

所以想出以下用WINRAR命令行方式的解压缩

package edu.nwpu.vcampus.util;

import java.io.File;

public class ZipUtil {

public static final String winrarPath = "C://Program Files//WinRAR//WinRAR.exe";

public static boolean unzip(String zipFile) {

boolean bool = false;

File f=new File(zipFile);

if(!f.exists())

{

return false;

}

String folder = f.getParent();

System.out.println(folder);

String cmd = winrarPath + " X " + zipFile + " "+folder;

//cmd="C://Program Files//WinRAR//WinRAR.exe X D://a.rar D://a";

System.out.println(cmd);

try {

Process proc = Runtime.getRuntime().exec(cmd);

if (proc.waitFor() != 0) {

if (proc.exitValue() == 0) {

bool = false;

}

} else {

bool = true;

}

} catch (Exception e) {

e.printStackTrace();

}

return bool;

}

public static boolean unzip(String zipFile,String password) {

boolean bool = false;

File f=new File(zipFile);

if(!f.exists())

{

return false;

}

String folder = f.getParent();

System.out.println(folder);

String cmd = winrarPath + " X -p " + password+" "+zipFile + " "+folder;

//cmd="C://Program Files//WinRAR//WinRAR.exe X D://a.rar D://a";

System.out.println(cmd);

try {

Process proc = Runtime.getRuntime().exec(cmd);

if (proc.waitFor() != 0) {

if (proc.exitValue() == 0) {

bool = false;

}

} else {

bool = true;

}

} catch (Exception e) {

e.printStackTrace();

}

return bool;

}

public static void main(String[] args) {

String zipFile = "D://a.rar";

boolean b = ZipUtil.unzip(zipFile);

System.out.println(b);

}

}

java winrar_Java使用winrar解压缩 | 学步园相关推荐

  1. java 利用系统WinRAR解压缩(zip/rar压缩文件)

    package UnZip;import java.io.BufferedReader; import java.io.File; import java.io.IOException; import ...

  2. java中system_《java中System类》 | 学步园

    System类 System类是一个特殊类,它是一个公共最终类,不能被继承,也不能被实例化,即不能创建System类的对象.System类功能强大,与Runtime一起可以访问许多有用的系统功能.Sy ...

  3. java arp 攻击_用JAVA代码实现ARP攻击 | 学步园

    ARP攻击原理 一台电脑通过网络访问另一台电脑的时候,在数据链路层需要知道对方的MAC地址进行真正的物理通信. 而电脑上的应用程序通常都是根据另一台电脑的IP地址来和对方建立通信,这时候就需要有一个协 ...

  4. java 分层领域模型_Java领域模型 | 学步园

    为了补大家的遗憾,在此总结下ROBBIN的领域模型的一些观点和大家的补充,在网站和演讲中,robbin将领域模型初步分为4大类: 1,失血模型 2,贫血模型 3,充血模型 4,胀血模型 那么让我们看看 ...

  5. android java内存 c内存_Android NDK java和C\C++交互 | 学步园

    1.定义native方法并加载动态链接库: public class HelloJni extendsActivity { @Overridepublic voidonCreate(Bundle sa ...

  6. java反射性能问题_Java反射应用实例java反射的性能问题 | 学步园

    很多IOC等框架都使用反射来实现,例如Spring, Hibernate等, Java反射的方式实现的逻辑比普通类逻辑的效率是要差一些的(14至300倍左右), 具体可以参考我转载的一篇文章< ...

  7. java实现linux变量替换_linux java 配置 含环境变量 | 学步园

    一般情况下,我们都要将linux自带的OPENJDK卸载掉,然后安装SUN的JDK. 首先查看Linux自带的JDK是否已安装. 输入如下命令,查看已经安装的JAVA版本信息. Linux代码   j ...

  8. java自定义annotation_Java自定义annotation | 学步园

    1. Annotation需要声明为@interface 2.@Target:  表示该注解可以用于什么地方.可用ElementType枚举类型主要有: TYPE : 类.接口或enum声明 FIEL ...

  9. java dll 调用方法_关于Java调用dll的方法 | 学步园

    Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C   写好的DLL库时,由于基本数据类型不同.使用字节 ...

最新文章

  1. 2021暑假每日一题 【week9 完结】
  2. FineReport报表和J2EE应用的集成
  3. Python虚拟环境你会用了吗?手把手教你
  4. UI设计实用素材|线框套件 WRFRM
  5. mfc ribbon动态修改字符_如何動態更改CMFCRibbonLabel的文本
  6. MS SQL入门基础:删除数据库
  7. 阿里云 centos 安装图形化界面
  8. malloc/free与new/delete的使用要点
  9. OOAD-1 GOF中的23种设计模式的分类和功能
  10. 美国散户从90%降到6%,他们是如何被“消灭”的?
  11. linux ftps ftp,Linux下ftp+SSL实现ftps
  12. 微信小程序测试二维码跳转链接
  13. status计算机语言,status 在c语言中的用法?请高手指教、、、、谢谢
  14. APP运营推广:新APP建设之后该怎么做好品牌运营?
  15. 中国农药行业发展趋势及十四五产销需求预测报告2021-2027年版
  16. 硬盘的读写原理(图文详解)
  17. MAC系统下 U盘\硬盘速度测试工具BlackMagic Disk Speed Test
  18. js对数组的删除操作
  19. 微软与华盛顿大学合作研发DNA存储技术
  20. 心情日志 —— 2015/09/09

热门文章

  1. Android根据音量大小绘制心电图(附源码)
  2. <<算法很美>>——(七)——DFS典题(一):水洼数目
  3. html数据的格式是什么格式的文件,.html是什么格式的文件,html文件怎么打开
  4. 在线CRM特点?优势?简信软件在线CRM优势?
  5. 了解MVP(最小可行产品) - 以及为什么我更喜欢最早的可测试/可用/可爱
  6. linux sqlite图形工具,SQLite 图形化管理工具
  7. html5微杂志源码,H5制作又一利器:分分钟制作一个H5页面
  8. Hyperledger Fabric 网络环境的一点理解
  9. Unity Shader LOD详解
  10. 基于ESP32的TCP服务器