2016-08-09 21 views
1

javaを使用してフォルダを.7z拡張子に圧縮したい。 Iamは以下のコードを使用しようとしていますが、新しいファイルを作成して、すべてのソースファイルの内容を1つのファイルに追加しています。誰でもこの問題を解くのを助けることができます.....フォルダをJavaの7zに圧縮する

Encoder encoder = new Encoder(); 
encoder.SetAlgorithm(2); 
encoder.SetDictionarySize(8388608); 
encoder.SetNumFastBytes(128); 
encoder.SetMatchFinder(1); 
encoder.SetLcLpPb(3,0,2); 
encoder.SetEndMarkerMode(false); 
encoder.WriteCoderProperties(outStream); 
long fileSize; 
fileSize = inputToCompress.length(); 
for (int i = 0; i < 8; i++)          
{ 
     outStream.write((int)(fileSize >>> (8 * i)) & 0xFF); 
}        

encoder.Code(inStream, outStream, -1, -1, null); 
+1

そのフォルダ内のファイルを単一の.7zファイルに追加したくないのですか? Btw、情報が欠落しています。どのように複数のファイルを扱う。 – Thomas

+0

[Apache Commons Compress](https://commons.apache.org/proper/commons-compress/examples.html#a7z)を使うことをお勧めします。 LZMA SDKよりも多くのサポートを提供します。 –

答えて

0

まず、tarでディレクトリを圧縮します。その後、現在のコードを使用してこのファイルを圧縮します。

関連する問題