- 浏览: 904589 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (263)
- J2EE (9)
- Spring (11)
- Hibernate (11)
- Struts (5)
- opensource (19)
- Hadoop (28)
- 架构设计 (8)
- 企业应用 (10)
- SNMP (8)
- SSO (4)
- webservice (11)
- RPC (2)
- 编程语言 (0)
- Java (30)
- Javascript (5)
- NoSQL (11)
- 数据库 (0)
- oracle (8)
- MySQL (3)
- web (1)
- Android (2)
- Linux (15)
- 软件工具 (15)
- 项目构建 (11)
- 测试工具 (2)
- Exception (19)
- 杂谈 (4)
- Groovy (5)
- Nodejs (1)
- MacOSX (4)
最新评论
-
fighhin:
decode(BinaryBitmap,java.util.M ...
条形码/二维码之开源利器ZXing图文介绍 -
u013489005:
追问:楼主,请问有中文文档么?我的邮箱是frankgray@s ...
Java表达式计算引擎:Expr4J -
u013489005:
感谢博主 需要引入的包是import java.io.*;im ...
Java表达式计算引擎:Expr4J -
calosteward:
感谢楼主分享。。 Zxing 我听说过的。__________ ...
条形码/二维码之开源利器ZXing图文介绍 -
u013810758:
judasqiqi 写道感谢楼主!想请问楼主一下这个生成的图片 ...
Java实现二维码QRCode的编码和解码
blog迁移至:http://www.micmiu.com
本文主要讲一讲如何在java中实现对zip和rar文件的解压。
本文的相关的源码:源码下载
一、解压rar文件。
由于WinRAR 是共享软件,并不是开源的,所以解压rar文件的前提是系统已经安装了winrar,比如本人的安装路径是:
C:\\Program Files\\WinRAR\\winrar.exe
然后运用java.lang.Process 的相关知识来运行系统命令行来实现解压的。
winrar 命令行相关参数自己可以搜索下的网上资料很多
具体代码:
二、解压zip文件
由于zip是免费的,所以在jdk里提供了相应的类对zip文件的实现:
java.util.zip.*,详细情况可以参考java API
是啊,你有什么好的办法,可以拿出来啊,呵呵
希望这位仁兄 给点解决方案能实现对rar文件的解压
这是由于客户的特殊需要,需要对上传的压缩文件(可能rar 也可能是zip),解压后再对文件做相关处理,
所以想到了这样的办法 现在共享出来,希望对大家有所帮助
是不是我写的有歧义? 我没有说这两个算法是一样的,我是分开单独讲这两种文件的解压
本文主要讲一讲如何在java中实现对zip和rar文件的解压。
本文的相关的源码:源码下载
一、解压rar文件。
由于WinRAR 是共享软件,并不是开源的,所以解压rar文件的前提是系统已经安装了winrar,比如本人的安装路径是:
C:\\Program Files\\WinRAR\\winrar.exe
然后运用java.lang.Process 的相关知识来运行系统命令行来实现解压的。
winrar 命令行相关参数自己可以搜索下的网上资料很多
具体代码:
** * 解压rar文件(需要系统安装Winrar 软件) * @author Michael sun */ public class UnRarFile { /** * 解压rar文件 * * @param targetPath * @param absolutePath */ public void unRarFile(String targetPath, String absolutePath) { try { // 系统安装winrar的路径 String cmd = "C:\\Program Files\\WinRAR\\winrar.exe"; String unrarCmd = cmd + " x -r -p- -o+ " + absolutePath + " " + targetPath; Runtime rt = Runtime.getRuntime(); Process pre = rt.exec(unrarCmd); InputStreamReader isr = new InputStreamReader(pre.getInputStream()); BufferedReader bf = new BufferedReader(isr); String line = null; while ((line = bf.readLine()) != null) { line = line.trim(); if ("".equals(line)) { continue; } System.out.println(line); } bf.close(); } catch (Exception e) { System.out.println("解压发生异常"); } } /** * @param args */ public static void main(String[] args) { String targetPath = "D:\\test\\unrar\\"; String rarFilePath = "D:\\test\\test.rar"; UnRarFile unrar = new UnRarFile(); unrar.unRarFile(targetPath, rarFilePath); } }
二、解压zip文件
由于zip是免费的,所以在jdk里提供了相应的类对zip文件的实现:
java.util.zip.*,详细情况可以参考java API
/** * 解压zip文件 * @author Michael sun */ public class UnzipFile { /** * 解压zip文件 * * @param targetPath * @param zipFilePath */ public void unzipFile(String targetPath, String zipFilePath) { try { File zipFile = new File(zipFilePath); InputStream is = new FileInputStream(zipFile); ZipInputStream zis = new ZipInputStream(is); ZipEntry entry = null; System.out.println("开始解压:" + zipFile.getName() + "..."); while ((entry = zis.getNextEntry()) != null) { String zipPath = entry.getName(); try { if (entry.isDirectory()) { File zipFolder = new File(targetPath + File.separator + zipPath); if (!zipFolder.exists()) { zipFolder.mkdirs(); } } else { File file = new File(targetPath + File.separator + zipPath); if (!file.exists()) { File pathDir = file.getParentFile(); pathDir.mkdirs(); file.createNewFile(); } FileOutputStream fos = new FileOutputStream(file); int bread; while ((bread = zis.read()) != -1) { fos.write(bread); } fos.close(); } System.out.println("成功解压:" + zipPath); } catch (Exception e) { System.out.println("解压" + zipPath + "失败"); continue; } } zis.close(); is.close(); System.out.println("解压结束"); } catch (Exception e) { e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { String targetPath = "D:\\test\\unzip"; String zipFile = "D:\\test\\test.zip"; UnzipFile unzip = new UnzipFile(); unzip.unzipFile(targetPath, zipFile); } }
- UnRarOrZip.zip (1.6 KB)
- 下载次数: 454
评论
12 楼
cxl2086
2011-07-06
jdk对zip的解压,中文会有乱码,用ant.jar 试过就没有乱码
11 楼
enefry
2011-03-21
unrar解压好像是免费的吧.
10 楼
mqlfly2008
2010-08-29
zip的解压算法是正确的,可以用到程序中!但如果在服务器端解压后传到view层时会出现乱码问题,以前是通过ant来解决的!希望能够看到其他的解决方式
9 楼
aa00aa00
2010-08-20
windchill_java 写道
如此简单的东西,难道你解压或压缩还得指定WinRAR 的安装路径吗,搞笑很
是啊,你有什么好的办法,可以拿出来啊,呵呵
8 楼
sjsky
2010-03-31
windchill_java 写道
如此简单的东西,难道你解压或压缩还得指定WinRAR 的安装路径吗,搞笑很
希望这位仁兄 给点解决方案能实现对rar文件的解压
7 楼
windchill_java
2010-03-31
如此简单的东西,难道你解压或压缩还得指定WinRAR 的安装路径吗,搞笑很
6 楼
ray_linn
2010-03-31
马上就见新手帖
5 楼
sjsky
2010-03-31
mathfox 写道
真是有创意,这都能想出来
这是由于客户的特殊需要,需要对上传的压缩文件(可能rar 也可能是zip),解压后再对文件做相关处理,
所以想到了这样的办法 现在共享出来,希望对大家有所帮助
4 楼
sjsky
2010-03-31
fjlyxx 写道
一个微软的算法 一个标准通用的算法 怎么会一样呢.
是不是我写的有歧义? 我没有说这两个算法是一样的,我是分开单独讲这两种文件的解压
3 楼
mathfox
2010-03-31
真是有创意,这都能想出来
2 楼
mgcnrx11
2010-03-31
不错,zip解压正好需要用到
1 楼
fjlyxx
2010-03-31
一个微软的算法 一个标准通用的算法 怎么会一样呢.
发表评论
-
$JAVA_HOME环境变量在Mac OS X中设置的问题
2014-01-19 20:31 1603系统版本:Mac OS X 10.9.1 在 ... -
JBoss IIOP实现CORBA/IIOP访问EJB的示例
2014-01-17 14:08 588目录 概述 特性 示例演示 详见:http:// ... -
JavaIDL开发CORBA实例演示
2013-10-25 15:51 496目录: 概述 开发步骤 创建Java项目 -
OpenORB开发CORBA的实例介绍
2013-10-25 15:50 1236目录: 概述 开发步骤 -
java读取控制台输入的几种方法
2013-10-24 09:01 1021java读取控制台输入的 ... -
OSX系统中各种JDK的路径说明
2013-10-15 08:50 607不同厂商发布的JDK,在OSX下的安装路径是不同的。以我本机 ... -
Java 完美判断中文字符
2012-11-23 17:23 999详见:http://www.micmiu.com/ ... -
java自带的MD5、SHA1算法演示
2012-06-04 10:23 3029详见:http://www.micmiu.com/lang ... -
解决java网络编程IPv6问题
2012-04-05 13:38 1347详见:http://www.micmiu.com/lang/j ... -
swing中Label添加下划线几种方法(含完美版本)
2011-09-30 11:57 3267blog迁移至 :http://www.micmiu. ... -
Java实现给图片添加水印
2011-08-21 12:21 15728blog迁移至 :http://www.m ... -
Java对象序列化ObjectOutputStream和ObjectInputStream示例
2011-08-01 14:14 13617blog迁移至 :http://www.m ... -
proxool连接池介绍
2011-06-29 08:42 3857blog迁移至:http://www.micmiu.c ... -
c3p0配置介绍
2011-06-28 08:56 6560blog迁移至 :http://www.micmiu. ... -
apache-DBCP基本配置介绍
2011-06-27 00:04 13291blog迁移至:http://www ... -
JAVA中IP和整数相互转化介绍
2011-06-22 18:36 4743blog迁移至 :http://www.micmiu. ... -
JAVA线程池ThreadPoolExecutor
2011-06-21 19:00 8915blog迁移至:http://www.micmiu.c ... -
Java 获取当前Classpath
2011-06-19 11:50 8073blog迁移至:http://www ... -
Array和Collection相互转换以及copy深度的小测
2011-06-18 18:46 2206blog迁移至:http://www.micmiu.c ... -
扫描指定包下的类(包括jar文件里的类)
2011-05-27 12:56 5942blog迁移至:http://www.micmiu.c ...
相关推荐
java 解压zip,rar文件 ,java 解压缩包,把压缩包的文件及文件夹的子文件全部压到指定目录
java上传文件 实时获取上传进度 上传RAR,ZIP 并指定解压路劲 上传之后会按照路劲进行解压
Java解压ZIP和RAR格式文件_所需资源,本资源是博客中所需文件,故不要过多积分,以方便技术人员解决问题,而且方便下载。
java ZIP和RAR 压缩包 目录结构。 1.ant.jar 解决java自带zip不能读取中文压缩包的问题; 2.需要安装WINRAR软件,以便解压rar文件,然后获取对应目录; 3.实现在线预览压缩包目录结构的功能;
java解压zip或rar压缩文件源码和jar包
使用Java解压文件 支持RAR5,Zip,7z ,代码只实现了这个三种,但是要想支持更多的可以查看代码。 支持跨平台。 以前的通用java解压都是坑人的,无语了。
本篇文章主要介绍了详解Java无需解压直接读取Zip文件和文件内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java批量解压RAR或zip文件,压缩包内包含包括源码和jar包。 如发现其他人或组织有商用目的,必追究其法律责任。
NULL 博文链接:https://hogwartsrow.iteye.com/blog/1853355
java解压zip或rar压缩文件 包括源码和所需要的jar包:apache ant.jar 和 java-unrar-0.3.jar zip文件解压(要使用apache ant.jar以处理中文乱码) rar文件解压(要使用java-unrar-0.3.jar) 具有处理中文乱码功能 代码...
java实现的解压与压缩的类 其中有zip和rar类型的 还包括了所需的架包
绝对实用的封装,自己写了一下午的代码,希望对大家有所帮助
java项目中常使用到的工具类:zip压缩解压缩、rar解压(有密码的文件)、gz解压、FTP上传与下载
Java解压RAR文件,压缩包内包含源码、Jar包、依赖包和示例程序,也可以从http://code.google.com/p/java-unrar/downloads/list这里下载支持密码的unrar项目(包括源码和jar包),其依赖包也很容易搜到。
在使用Java对ZIP压缩文件进行解压的方式中有两种,一种是使用apache提供的ant.jar工具包,但是如果ZIP文件中含有中文名称的文件,在解压后,文件名将出现乱码,另一种是使用Java自身JDK中java.util.zip包下工具类,...
java 压缩/解压 .zip/.rar/.tar 文件,大家一起讨论,学习 已实现zip压缩/解压,rar解压
这个东西是书写了一个java接口类 ,解决了乱码问题!
zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压zip 文件解压
我这个资源是也是从网上下的,下下来之后在单个测试类里面解压rar是没问题的,但是在Action里面调就抛java.lang.OutOfMemoryError: Java heap space,所以自己换了种解压rar的方法,以前的方法注释掉了。action里面...