Javaの複数のファイルとディレクトリを使用して7zipアーカイブを解凍します[閉じた
質問
Javaの複数のファイルとディレクトリを使用して、7ZIP/LZMAアーカイブを減圧したいと思います。私は公式の7zip SDKを使用しようとしましたが、私のプログラミングスキルはこのテーマでそれほど進んでいないため、失敗しました。しかし、LZMaOutputStream/lzmainputStreamといえば、Javaでのサポートを簡単にするライブラリをいくつか紹介しますが、それらの「ストリーム」を使用してマルチファイルアーカイブを解凍する方法がわかりません。ハマった。
解決
例では、交換します compressed
新しいファイル( "path_to_file")。サンプルコードには出力ストリームが生成されます。LZMAOUTPUTSTREAMまたはライブラリには、ストリームをバイナリまたは文字列に変換する適切な方法があると思います。
デフォルトでは、LZMAは圧縮アルゴリズムのみであり、TARやZIPなどのファイルアーカイバーではありません。 (注:7-ZIPプログラムはファイルアーキバーですが、リンクしたライブラリはファイルトラバーサルと解放をサポートしていません。
ZIPやGZなどのよくサポーター圧縮アルゴリズムを使用することをお勧めします。 LZMAを使用する必要がある場合は、TARを使用してファイルアーカイブを構築し、LZMAで圧縮できます。または、圧縮がゼロでzipを使用します。
がここにあります Java Tar Library.
所属していません StackOverflow