1
Я хочу сжать папку в расширение .7z с помощью java. Я пытаюсь использовать приведенный ниже код, но он создает новый файл и добавляет содержимое всех исходных файлов в один файл. Может ли кто-нибудь помочь мне выйти из этой проблемы .....Сжатие папки в 7z в java
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);
Не хотите, чтобы файлы в этой папке были добавлены в один файл .7z? Кстати, есть много информации, отсутствующей, например. как вы обрабатываете несколько файлов. – Thomas
Предлагаю вам использовать [Apache Commons Compress] (https://commons.apache.org/proper/commons-compress/examples.html#a7z). Он предлагает больше поддержки, чем LZMA SDK. –