激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java調用7zip解壓壓縮包的實例

java調用7zip解壓壓縮包的實例

2021-01-10 11:46李愛戴 Java教程

下面小編就為大家帶來一篇java調用7zip解壓壓縮包的實例。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

最近的項目中需要用到解壓縮包的功能,客戶給出的壓縮包的格式主要是rar和zip,因此就打算使用java調用7zip的命令行進行解壓文件,本文主要記錄一下實現的過程以及其中遇到的問題。

7zip命令行

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

7z的commands中包含添加文件到壓縮包、從壓縮包中刪除文件以及提取文件等等多個命令,在這里我就不多贅述,有興趣的可以在7zip的安裝目錄使用cmd運行7z.exe查看具體的命令。

今天我們要做的就是使用密碼將壓縮包中的文件提取出來,具體的命令如下:

?
1
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解壓

?
1
2
3
4
5
6
7
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

文件路徑中存在連續多個空格導致文件找不到

出現該問題是由于

?
1
Runtime.getRuntime().exec(command)

方法在執行過程中,會將文件路徑中的多個連續空格轉換為單個空格,這種情況在文件全路徑外面加上雙引號也是不管用的

解決方案:

• 替換文件路徑中的空格,將每一個空格都替換為帶有雙引號的空格即可

以上這篇java調用7zip解壓壓縮包的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/liaidai/p/7592788.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91精品国产综合久久男男 | 色人阁五月天 | 国产精品久久久久久久成人午夜 | 中国hdxxxx护士爽在线观看 | 国产999视频在线观看 | 成人一级免费视频 | 91久久另类重口变态 | 国产日韩在线观看一区 | 一级成人黄色片 | 精品国产乱码久久久久久丨区2区 | 哪里可以看免费的av | 女女久久| 免看一级片 | 色网在线视频 | www亚洲免费 | 久久精精 | 午夜热门福利 | 亚洲美女网站在线观看 | 黄 色 免费网 站 成 人 | 男女羞羞视频在线观看免费 | 欧美一级一区二区三区 | 日韩一级精品 | 色网站综合 | 国产一级毛片不卡 | 亚洲综合网站 | 在线播放免费人成毛片乱码 | 成人三区四区 | 欧美日韩高清一区二区三区 | 久久不射电影 | 欧美成人一级片 | freexxxhd喷水 | 天堂亚洲一区 | 99亚洲视频 | 久久金品 | av电影在线网 | 伊人一二三四区 | 婷婷一区二区三区四区 | 日韩视频1 | 免费a视频| 亚洲精品无码不卡在线播放he | av手机在线电影 |