全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java调用7zip解压压缩包的实例

前言

最近的项目中需要用到解压缩包的功能,客户给出的压缩包的格式主要是rar和zip,因此就打算使用java调用7zip的命令行进行解压文件,本文主要记录一下实现的过程以及其中遇到的问题。

7zip命令行

7z <command> [<switches>...] <archive_name> [<file_names>...][<@listfiles...>]

7z的commands中包含添加文件到压缩包、从压缩包中删除文件以及提取文件等等多个命令,在这里我就不多赘述,有兴趣的可以在7zip的安装目录使用cmd运行7z.exe查看具体的命令。

今天我们要做的就是使用密码将压缩包中的文件提取出来,具体的命令如下:

7z x 压缩文件源路径 -o要解压的路径 -aoa -bse1 -p密码

• x : 表示从压缩包中提取文件

• -aoa : ao表示覆盖模式,最后的a表示直接覆盖现有文件而不需要任何提示

• -bs < o|e|p > < 0|1|2 >:set output stream for output/error/progress line

-bs命令其实我没有太明白,字面的意思大概是说为输出/错误/进程行设置输出流,如果不设置-bse1属性,当解压缩出现错误,例如文件找不到时,错误提示就会出现在cmd窗口中而不是生成的log文件中,因此必须加上-bse1命令

java通过cmd调用7zip解压

String filePath = "F:\\test\\新建 文本 文档.rar";
//将文件名称中的所有空格都替换为带有双引号的空格
filePath = filePath.replaceAll(" ", "\" \""); 

String command = "cmd /c start /B D:/工具/7zip/7-Zip/7z.exe x "+filePath+" -oF:/test/ -aoa -bse1 -p123 >F:/test/1.txt";
System.out.println(command);
Runtime.getRuntime().exec(command);

cmd命令解释

• cmd /c start 7z.exe 表示会启动7z来执行后面的命令,7z启动以后原来的cmd窗口会关闭

• cmd /k start 7z.exe 表示会启动7z来执行后面的命令,7z启动以后原来的cmd窗口不会关闭

• /B 表示启动应用程序,但是并不创建新的窗口

通过以上的代码就可以解压完成压缩包文件,如果要知道解压的密码是否正确或者压缩包是否损坏等信息,可以通过获取生成txt日志文件的内容来得知,这个不在本篇范围之后,后续再说。

遇到的问题

7z.exe文件路径找不到

出现该问题是由于7zip的安装路径中存在空格

解决方案:

• 选择7zip安装路径,不要安装在有空格的路径中

• 将路径中的空格使用双引号引起来,如C:“Program Files”\7-Zip或者“C:\Program Files\7-Zip”或者C:\Program“ ”Files\7-Zip

文件路径中存在连续多个空格导致文件找不到

出现该问题是由于

Runtime.getRuntime().exec(command)

方法在执行过程中,会将文件路径中的多个连续空格转换为单个空格,这种情况在文件全路径外面加上双引号也是不管用的

解决方案:

• 替换文件路径中的空格,将每一个空格都替换为带有双引号的空格即可

以上这篇java调用7zip解压压缩包的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java调用7zip解压  # Java实现文件压缩为zip和解压zip压缩包  # java不解压直接读取压缩包中文件的实现方法  # java中如何实现 zip rar 7z 压缩包解压  # 压缩包  # 多个  # 双引号  # 找不到  # 包中  # 给大家  # 问题是  # 解压缩  # 命令行  # 我就  # 就会  # 在这里  # 出现在  # 不多  # 可以通过  # 希望能  # 要做  # 有兴趣  # 这种情况  # 要知道 


相关文章: 如何选择高效响应式自助建站源码系统?  如何快速搭建高效服务器建站系统?  建站之星安装模板失败:服务器环境不兼容?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  如何用已有域名快速搭建网站?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  c# 在高并发场景下,委托和接口调用的性能对比  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何基于云服务器快速搭建网站及云盘系统?  黑客如何利用漏洞与弱口令入侵网站服务器?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  导航网站建站方案与优化指南:一站式高效搭建技巧解析  网站制作公司排行榜,四大门户网站排名?  制作网页的网站有哪些,电脑上怎么做网页?  如何获取免费开源的自助建站系统源码?  C++中引用和指针有什么区别?(代码说明)  如何打造高效商业网站?建站目的决定转化率  深圳网站制作案例,网页的相关名词有哪些?  建站主机数据库如何配置才能提升网站性能?  建站主机服务器选购指南:轻量应用与VPS配置解析  如何选择美橙互联多站合一建站方案?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  桂林网站制作公司有哪些,桂林马拉松怎么报名?  ,网站推广常用方法?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  建站主机解析:虚拟主机配置与服务器选择指南  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站主机CVM配置优化、SEO策略与性能提升指南  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  创业网站制作流程,创业网站可靠吗?  如何在VPS电脑上快速搭建网站?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  建站之星后台密码遗忘如何找回?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  行程制作网站有哪些,第三方机票电子行程单怎么开?  如何通过可视化优化提升建站效果?  如何在Golang中指定模块版本_使用go.mod控制版本号  如何选择建站程序?包含哪些必备功能与类型?  如何在万网自助建站平台快速创建网站?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  MySQL查询结果复制到新表的方法(更新、插入)  建站主机如何选?高性价比方案全解析  网站制作公司排行榜,抖音怎样做个人官方网站  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站VPS能否同时实现高效与安全翻墙?  如何选择CMS系统实现快速建站与SEO优化?  建站主机系统SEO优化与智能配置核心关键词操作指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。