http://www.7-zip.org/sdk.html 该站点提供了一个用于压缩/解压缩文件的 LZMA SDK,我想试一试,但我迷路了。
有人有这方面的经验吗?还是教程?谢谢。
最佳答案
简答:不要
7zip sdk 陈旧且无人维护,它只是 C++ 库的 JNI 包装器。现代 JVM (1.7+) 上的纯 Java 实现与 C++ 一样快,并且依赖性和可移植性问题更少。
看看http://tukaani.org/xz/java.html
XZ是一种基于LZMA2(LZMA的改进版)的文件格式
发明 XZ 格式的人构建了 XZ 存档压缩/提取算法的纯 Java 实现
XZ 文件格式旨在仅存储 1 个文件。因此,您需要先将源文件夹 zip/tar 压缩到一个未压缩的文件中。
使用 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();
关于java - Java中如何使用LZMA SDK压缩/解压,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5481487/