Краткий ответ: не
7zip sdk старый и не поддерживается, и это просто оболочка JNI вокруг библиотеки C ++. Чистая реализация Java на современной JVM (1.7+) такая же быстрая, как и реализация на C ++, и в ней меньше проблем с зависимостями и переносимостью.
Посмотрите на http://tukaani.org/xz/java.html
XZ - это формат файла, основанный на LZMA2 (улучшенная версия LZMA)
Ребята, которые изобрели формат XZ, строят чистую Java-реализацию алгоритмов сжатия / извлечения архива XZ
Формат файла XZ предназначен для хранения только 1 файла. Таким образом, вам нужно сначала сжать / сжать исходные папки в один несжатый файл.
Использовать библиотеку Java так же просто, как это:
FileInputStream inFile = new FileInputStream("src.tar");
FileOutputStream outfile = new FileOutputStream("src.tar.xz");
LZMA2Options options = new LZMA2Options();
options.setPreset(7); // play with this number: 6 is default but 7 works better for mid sized archives ( > 8mb)
XZOutputStream out = new XZOutputStream(outfile, options);
byte[] buf = new byte[8192];
int size;
while ((size = inFile.read(buf)) != -1)
out.write(buf, 0, size);
out.finish();