2012-10-08 236 views
16

我想用java代碼將文件壓縮成zip,rar和7z格式。另外我想在指定位置解壓縮這些文件。 任何人都可以請告訴我如何壓縮和解壓縮文件在java中使用7-zip?在java中壓縮和解壓縮7z文件

+4

你有沒有嘗試將'7zip java'打入搜索引擎?你會發現像[7-Zip-JBinding](http://sevenzipjbind.sourceforge.net/)。 –

+0

我試過了,但我只能得到文件列表。 – user1728310

+0

轉到[此頁](http://sourceforge.net/projects/sevenzipjbind/files/7-Zip-JBinding/4.65-1.05rc-extr-only/)。如果您需要Windows版本,頂部有一個鏈接。 –

回答

0

你也可以寫你從Java調用來提取和壓縮批處理腳本或只是內嵌命令執行。請注意,此選項僅適用於Windows平臺,並需要一些管理技能。 7zip提供了一個exe文件來促進這一點。我已經將其用於我的一個實用工具,並且完美地工作。如果你有興趣,我可以發送你的代碼。

+0

您的意思是一個bash腳本,它不會在Windows上很常用,或者是一個批處理腳本,這種腳本在Windows下不常用。甚至有一些系統具有Java,但根本不需要腳本,就像一些手機一樣。 – Olathe

+0

嗨Olate假設是代碼將在Windows上運行,所以我的意思是批處理腳本。這個問題沒有具體說明它是否會在Linux或Windows上運行。對於你說,它不會工作是絕對嘲笑,因爲我以前做過這件事。 \t \t \t \t \t \t \t \t \t \t \t字符串CMD = 「CMD/C」 + [7Zip的APP] + 「X」 + [ARCHIVE] + 「-o」 + [目的地]; \t \t \t \t \t \t \t \t \t \t \t工藝過程=調用Runtime.getRuntime()。EXEC(CMD。的toString()); 7 zip提供了一個你可以用來提取和壓縮的應用程序。投票下來我的答案? 。這完美地在windows上工作 –

+0

它不一定在Windows上完美工作。用戶必須無誤地安裝7-Zip軟件才能使其工作,這非常麻煩,特別是如果用戶對計算機不甚滿意(如果他們沒有計算機,則更加困難管理權限;他們甚至會知道shell搜索路徑存在,所以他們可以正確設置它?)。更重要的是,有更容易的多平臺解決方案,不需要安裝任何額外的軟件,並且可以在Linux Web服務器和Android上工作,而Java也被廣泛使用。 – Olathe

3

SevenZipBinding非常適合解壓縮,它甚至可以自動檢測格式。問題是它無法壓縮。您可以使用ZIP4J創建zip檔案。但它只提供簡單的拉鍊。 LZMA顯然可以將單個文件壓縮成7z檔案,但我還沒有嘗試過。