Java压缩类库的使用-1.总述

  inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish)。

  压缩是编程中常见的技巧,多用于大文件压缩,数据流压缩等。在Java类库中,内置了jar、ZIP、GZIP、ZLIB等的支持(见java.util.zip、java.util.jar包)。另外在Apache项目下Ant中ant.jar的org.apache.tools.tar、org.apache.tools.zip、org.apache.tools.bzip2分别提供了tar、zip、bzip2的支持;Apache commons compress项目里提供了对AR、BZIP、CPIO、GZP、TAR、ZIP的支持。7-zip 提供了LZMA格式的压缩(public domain),QuickLZ 提供了quicklz格式的压缩(GPL),oberhumer.com 提供LZO格式的压缩(GPL),hadoop-gpl-compression 则对LZO的c实现用JNI进行包装,提供更快捷的LZO压缩。(来源:http://blog.csdn.net/inkfish)

  严格来说,TAR、AR、CPIO并不属于压缩软件,而是一种打包软件,它能把很多文件、文件夹打包成一个文件,供压缩程序压缩。而咱们在windows中熟悉的zip、rar,严格的说是具备打包和压缩功能的一种格式。(来源:http://blog.csdn.net/inkfish)

      因为本人在项目中需主要需要应用压缩工具对网络中传输的数据流进行压缩,因此重点关心对Stream的压缩,而不关心对多个文件的压缩,这在代码中也会有所体现。因此,本系列的代码一般仅适用于压缩流或压缩一个文件。(来源:http://blog.csdn.net/inkfish)

  LZMA、QuickLZ、LZO因为提供的类库不支持stream形式压缩或提供的example太难看懂,故不作测试。这里还有一个需要提醒,Apache commons compress的tar、zip、bzip2来最初源于ant,但经过项目间迁移、演化,API及性能有所不同。(来源:http://blog.csdn.net/inkfish)

  所有的格式均提供压缩和解压两个方法,再次提醒这里所有代码不适用于压缩多个文件、文件夹。下面是抽象的压缩、加压缩类:(来源:http://blog.csdn.net/inkfish)

一、Windows 7和Vista系统下使用Java 开发资源库报错或无法运行 在Windows 7和Vista系统下使用Java 开发资源库要设置Java 开发资源库.exe的兼容性。设置方法如下: 1、打开“Java 开发资源库”文件夹,右键单击“Java 开发资源库.exe”,在弹出的菜单中选择“属性”菜单。 2、在打开的属性窗口中选择“兼容性”选项卡,在兼容模式区域将“以兼容模式运行这个程序”复选框和“以管理员身份运行此程序”复选框选中。 3、单击“应用” 按钮,Java 开发资源库.exe兼容性设置完成。 二、运行Java 开发资源库出现“MSDATLST.OCX”控件注册的错误。 因为本体验版为免安装程序,在某些系统中可能出现控件注册的错误,解决办法如下: 1、在Java 开发资源库文件夹中打开“setup”文件夹。 2、运行“setup”文件夹下的setup.exe文件,安装控件。 3、安装完成后,运行开发资源库程序,控件注册错误问题解决。 三、以非管理员身份登录系统,运行Java 开发资源库报错或无法运行。 因为本体验版为免安装程序,如果程序中某些控件没有注册,以非管理员身份登录时又没有权限注册,则出现报错或无法运行的情况,解决办法如下: 1、以系统管理员身份登录,运行Java 开发资源库。 2、如果以系统管理员登录能正确运行,则之后以非管理员身份登录,也可以正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值