2010-08-12 100 views
4

我想解壓縮包含多個文件的7zip/lzma存檔,其中包含多個文件&目錄。我試圖使用官方的7zip SDK,但是我失敗了,因爲我的編程技巧對於這個主題來說並不那麼先進。 但是我爲了使Java支持變得更容易,提到了一些庫,我說了LzmaOutputStream/LzmaInputStream - 但我不知道如何使用這些「流」來解壓縮多文件歸檔。我被卡住了。在Java中解壓縮包含多個文件和目錄的7zip存檔

+0

檢查了這一點http://stackoverflow.com/questions/3435751/how-to-unzip-a-7zip-archive-in-android/35750229#35750229 – Simon 2016-03-02 14:38:43

回答

2

在此示例中,將compressed替換爲新文件(「PATH_TO_FILE」)。示例代碼將產生一個輸出流,我想LzmaOutputStream或庫有適當的方法將流轉換爲二進制或字符串。

默認情況下,Lzma只是一種壓縮算法,而不是像tar或zip這樣的文件存檔器。 (注意:7-Zip程序是一個文件歸檔程序,但是你鏈接的庫不支持文件遍歷和解包。

我建議使用像Zip或gz這樣的支持者壓縮算法,如果你必須使用LZMA你可以用tar建立一個存檔文件,然後用LZMA壓縮它,或者使用拉鍊與零壓縮。

這裏是一個java TAR library

+0

謝謝您的信息。切換到另一個庫是不可能的,因爲提供了7zip文件,格式不能改變(悲傷但真實)。我也找不到7zip存檔的任何規範,這很奇怪 - 因爲已經有一些支持7zip的應用程序,但不是開源的。 – Wolkenjaeger 2010-08-13 06:35:23

相關問題