java解压7z格式的压缩包
在我的前面博客中总结了一个压缩,解压缩的工具类,http://blog.csdn.net/u010248330/article/details/74178100。但是针对.7z格式的压缩包,我们用的这两个开源包:
<dependency><groupId>net.sf.sevenzipjbinding</groupId><artifactId>sevenzipjbinding</artifactId><version>9.20-2.00beta</version></dependency><dependency><groupId>net.sf.sevenzipjbinding</groupId><artifactId>sevenzipjbinding-all-platforms</artifactId><version>9.20-2.00beta</version>
</dependency>
在我自己的本机window上是可以成功解压.7z格式的,但是放在我们的linux服务器报错了,而且更严重是这种错误直接就把我们服务器上的tomcat给关了。。。很是郁闷,在网上找了一下,也没找到怎么处理这个。
先把报错贴一下:
所以不得已找其他的7z的解压方法,在apache的common-compress提供了解压缩7z的方法。
请参考:http://commons.apache.org/proper/commons-compress/examples.html。
在maven项目中引入下面两个jar包,否则自己下载下面这两个jar包放到自己的java项目中即可。
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-compress</artifactId><version>1.9</version>
</dependency>
<dependency><groupId>org.tukaani</groupId><artifactId>xz</artifactId><version>1.5</version>
</dependency>
代码:
/*** @author kxl* @param orgPath 源压缩文件地址* @param tarpath 解压后存放的目录地址*/public static void apache7ZDecomp(String orgPath, String tarpath) {try {SevenZFile sevenZFile = new SevenZFile(new File(orgPath));SevenZArchiveEntry entry = sevenZFile.getNextEntry();while (entry != null) {// System.out.println(entry.getName());if (entry.isDirectory()) {new File(tarpath + entry.getName()).mkdirs();entry = sevenZFile.getNextEntry();continue;}FileOutputStream out = new FileOutputStream(tarpath+ File.separator + entry.getName());byte[] content = new byte[(int) entry.getSize()];sevenZFile.read(content, 0, content.length);out.write(content);out.close();entry = sevenZFile.getNextEntry();}sevenZFile.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
调用apache7ZDecomp(“C:\Users\Administrator\Desktop\图片\图片.7z”,”C:\Users\Administrator\Desktop\图片\”);
java解压7z格式的压缩包相关推荐
- [python] 解压7z格式 压缩包 无密码
import py7zr,os path=r'C:\Users\Lenovo\Desktop\2' #解压桌面上"2"文件夹内的7z格式压缩包 os.chdir(path) ...
- 使用Java解压zip格式压缩包
Maven引用 使用了apache的 ZipArchiveEntry 和 FileUtils ,具体的maven引用如下(版本按需指定) <!-- https://mvnrepository.c ...
- mac解压7z格式文件
brew直接安装解压工具 $ brew search 7z p7zip $ brew install p7zip ==> Downloading https://downloads.source ...
- Java解压文件Zip,War,Tar,TarGz格式
Java压缩和解压缩 压缩和解压缩依赖 关于Java解压Zip文件的java.lang.IllegalArgumentException:MALFORMED报错问题. 解压缩代码 Zip解压缩 War ...
- linux解压z格式文件夹,使用7zip解决解压zip格式文件名乱码, 最简单的解决解压z...
使用7zip解决解压zip格式文件名乱码, 最简单的解决解压z 由于中文文件名与英文文件名编码的差异,很容易造成在Linux系统使用unzip命令解压zip格式的压缩包时造成中文文件名乱码. 最简单的 ...
- java解压.rar、.zip和.7z格式压缩包
解压zip格式文件用到的jar包有ant-1.6.5.jar和commons-logging-1.2.jar ,在pom.xml中输入: <!--zip--> <dependency ...
- java解压加密的7z格式文件
引言 最近在 项目中需要解压带有密码的.7z文件,然后获得里面的数据,之前都是zip 文件没有接触过解压7z类型的 文件,在这分享一下解压工具类,该 工具类可以同时解压带有密码的7z文件和zip文件. ...
- java 7zip解压_Apache Commons Compress介绍-JAVA压缩解压7z文件
7zip(下面简称7z)是由Igor Pavlov所开发的一种压缩格式,主要使用的压缩算法是LZMA/LZMA2.7z是一种压缩比非常高的格式,这与其压缩算法LZMA有直接关系,所以很多大文件都是用7 ...
- 微信小程序文件下载及在线打开指定文档,解压Zip格式压缩包
1.微信小程序文件下载 wx.downloadFile({url:'https://www.baidu.com/test', //(仅为示例接口,注:这里的域名需要到小程序公众平台添加)filePat ...
- linux 解压7z的压缩包,解压多个拆分的压缩包
需求: 在Linux下解压7z压缩的压缩包 该压缩包可以是由一个文件压缩生成的单个压缩包(case a):也可以是由一个文件拆分打包生成的多个子压缩包(case b) 工具准备: sudo apt i ...
最新文章
- MATLAB 的条件分支语句
- DataTable、DataView、ListBox 数据绑定与查询
- 骂骂咧咧的 fastreport 数据隔行换色
- nginx配置文件防盗链
- JAVA中“==”与equals()方法区别
- android组件间共享数据的常用方法
- 数通手稿留档——Multicast
- linux命令哲学,Linux哲学思想、history实现执行命令的时间、Linux命令格式
- linux下的C语言开发(管道通信)
- c++ mfc 曲线图像的实现资料网址
- java近义词,同义词查询_java 同义词查询怎么做?
- 全国DNS服务器IP地址【电信、网通、铁通】
- c语言控制科学计数法指数位数,控制科学计数法的指数位数
- 《算法》第4版 导读
- 富爸爸穷爸爸-读书笔记
- viser 饼图修改颜色
- 2020_ACL_A Transformer-based joint-encoding for Emotion Recognition and Sentiment Analysis
- 骆昊python100天 github_GitHub - zj775230/Python-100-Days: Python - 100天从新手到大师
- securecrt导出linux日志文件,secureCRT保存屏幕输出内容
- 基于mycncart开发PHP在线定制商城网站源码