我正在尝试使用从页面获得的代码来使用sevenZ类创建一个zip文件,希望它比普通的java更快压缩。这就是我的代码
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
BufferedInputStream instream = new BufferedInputStream(new FileInputStream("c:/temp/test.txt"));
SevenZOutputFile sevenZOutput = new SevenZOutputFile(new File("c:/temp/7ztest.zip"));
SevenZArchiveEntry entry = sevenZOutput.createArchiveEntry(new File("c:/temp/test.txt"),"blah.txt");
sevenZOutput.putArchiveEntry(entry);
byte[] buffer = new byte[1024];
int len;
while ((len = instream.read(buffer)) > 0) {sevenZOutput.write(buffer, 0, len);}
sevenZOutput.closeArchiveEntry();
sevenZOutput.close();
instream.close();
}catch(IOException ioe) {
System.out.println(ioe.toString());
}
}我发现这个错误看起来很不相关
java.lang.J9VMInternals.verify(J9VMInternals.java:93)线程“主”java.lang.NoClassDefFoundError中的异常: org.tukaani.xz.FilterOptions at java.lang.J9VMInternals.verifyImpl(原生方法)
我已经导入了apache包
导入org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry;导入org.apache.commons.compress.archivers.sevenz.SevenZOutputFile;
但是不确定org.tukaani.xz.FilterOptions是什么,它看起来不像是快速共享压缩的一部分。有什么想法吗?
发布于 2015-02-02 12:14:04
正如“Apache上的已知的限制“页面所指出的:
“格式需要其他可选的XZ for Java库。”
此依赖关系对于其他格式是可选的,但对于7zip则需要它。
<dependency>
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.5</version>
</dependency>https://stackoverflow.com/questions/28229095
复制相似问题