求uu福利你懂的uufulii-JP(8).zip解压码

拒绝访问 | www.anhui365.net | 百度云加速
请打开cookies.
此网站 (www.anhui365.net) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3382-ua98).
重新安装浏览器,或使用别的浏览器【图文】zip和rar 的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
zip和rar 的区别
上传于|0|0|文档简介
大小:115.12KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢1330人阅读
java(90)
注:转自:http://blog.csdn.net/djun100/article/details/
一个多月前,因项目需要对Java语言下的zip格式压缩文件的处理作了一些了解,尝试了多种开源项目并写了几篇博客做记录:
&ZIP4J,作为解决了我的问题的终极解决方案,本来一开始在搜索引擎上就看到了它的踪迹,但因天朝的网络环境问题,zip4j的官网一直无法访问,最终使我多走了好多冤枉路,期间试过JDK的zip包,试过Apache的zip解决方案,也试过如winzipaes等其它的开源框架,最终没有满足自己的需求,最后,我不得已挂了一下代理将zip4j下载了下来,试用了一下,果然威力无比,所到之处所向披靡...
闲话少说,如果需要可以到zip4j的官网下载该开源项目:
不过需要提醒的是可能无法直接访问,如果无法正常访问,请自行准备代理访问,如果各位嫌麻烦,可以到:
这是我的CSDN资源链接,下载需要3分,您如果分数不多,可以留言索取,呵呵...我也需要积分,请谅解!
官网上下载的资源好像是不带API帮助文档的,我利用其源码生成了一份,也一并打在我的资源文件中,希望能帮到大家。
ZIP4J的官方说明
(自己翻译了一下,英文不好,呵呵...)
Key features(主要特性):
Create, Add, Extract, Update, Remove files from a Zip file
针对ZIP压缩文件创建、添加、抽出、更新和移除文件Read/Write password protected Zip files
(读写有密码保护的Zip文件)Supports AES 128/256 Encryption
(支持AES 128/256算法加密)Supports Standard Zip Encryption
(支持标准Zip算法加密)Supports Zip64 format
(支持zip64格式)Supports Store (No Compression) and Deflate compression method
(支持Store(非压缩)和Deflate压缩方法---不太明白)Create or extract files from Split Zip files (Ex: z01, z02,...zip)
(针对分块zip文件创建和抽出文件)Supports Unicode file names
(支持Unicode编码文件名)Progress Monitor
(进度监控)
从上面的主要特性可以看出,zip4j的功能是非常强大的,完全可以利用其写个类似于好压的zip文件管理软件,但我们用地最多的可能还是利用其作一些简单的解压和压缩操作,其它的功能极少触碰,我也一样,呵呵...
使用注意点
zip4j默认采用UTF-8编码,所以它支持中文,同时也支持密码,而且支持多种压缩算法,可以说功能强大,但使用起来却非常简单,当然,如果需求比较复杂,那就得好好去研究了。如果你仅仅是简单地解压一个zip压缩文件,那么只需要简单地几步即可:
&当然将指定文件压缩成zip文件也是非常简单的事,此处不再贴代码,如有需要请参看下面的完整示例。
&提示:如果将要解压的压缩文件中的文件名含有中文,解压时需要注意一点,就是设置文件名字符集方法
这个方法的调用一定要靠前,要靠多前呢?其实最好在创建ZipFile之后就设置上,至少要在
这个方法调用之前调用,我在应用时因为这个问题耽误好久,最后查看源码才弄明白,好像是ZipFile在验证方法中就将编码设置好,以后就不再对文件名编码作改变了。
下面提供一个自己写的例子,鄙人才疏学浅,天分也差,写的代码质量很差,斗胆贴上,希望能起到抛砖引玉的作用。
需要学习的东西太多,没太多时间(或许只是借口)去研究它,上面的例子仅是简单地解压和压缩操作;但在使用中可以发现Zip4J功能比较完备,如果需要更多地支持,那就真要好好去研究一下它,也许它真的不会使您失望。。。
删除压缩文件中的目录
看到有朋友在问如何删除压缩文件中的目录,在这里补充一下。
利用zip4j删除压缩文件中的目录,查阅API后很容易想到这样的方式:
但这种直接删除压缩文件中非空目录的方式是不会成功的,你会看到zip文件丝毫没有变化,虽然目录对应的FileHeader已被删除(表现就是如果这时再将目录下的所有文件删除,则该目录随之消失) ;因此我们需要将该目录下所有的文件都删除掉,最后再将目录删除,根据这个思路,我们很容易形成如下的代码:
这样仍然解决不了问题,如果你这样做了,那么你将会得到一个java.lang.IndexOutOfBoundsException异常,那么看似正常的代码为什么会报索引越界异常呢?其实我们通过zipFile.getFileHeaders()方法得到的List会随遍历中的删除操作而发生变化,也就是说我们删除了某个FileHeader,将会反映到该List中。每成功删除一个FileHeader,List长度就减1,而i一直在0至List的初始长度之间递增,反复几次后就可能出现越界异常。
为了避免这种情况发生,我们可以多做一些操作,比如可以在遍历中暂不进行删除操作,而只是将要删除的文件记录下来,遍历结束后再统一删除,最后将目录删除,经测试,这个思路可以解决问题。
简单示例代码:
也许还有其它的办法来解决此问题,如果您有需要,就留待您来解决了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:312905次
积分:4214
积分:4214
排名:第6658名
原创:116篇
转载:105篇
评论:31条
(1)(1)(1)(1)(14)(12)(3)(2)(2)(1)(1)(6)(2)(8)(1)(7)(1)(3)(3)(15)(3)(16)(7)(3)(1)(8)(11)(7)(1)(1)(2)(2)(6)(1)(5)(3)(2)(17)(5)(4)(1)(5)(14)(7)(4)}

我要回帖

更多关于 uufuli欣5 .zip 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信