在Java中将文件夹压缩成7z

3

我想使用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 文件吗? 顺便说一句,有很多信息缺失,例如你如何处理多个文件。 - Thomas
我建议您使用Apache Commons Compress。它比LZMA SDK提供更多的支持。 - Beck Yang
1个回答

0

首先,使用tar压缩目录。然后使用您当前的代码压缩此文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接