问题描述
我在尝试使用 SnappyInputStream 解压缩大文件时遇到此错误。 sample.snappy 的大小为 10 GB。有办法解决吗?
我使用这个 https://github.com/xerial/snappy-java 来压缩和解压缩 snappy 文件。
代码来源:来源
a b c Is found
mike 1334 mike1334 yes
错误日志:
String fileName = "sample.snappy";
SnappyInputStream sis = new SnappyInputStream(new FileInputStream(fileName));
byte[] buffer = new byte[4096];
int len = 0;
while ((len = sis.read(buffer)) != -1) {
System.out.println(new String(buffer,len));
}
第 116 行:
Exception in thread "main" java.lang.NegativeArraySizeException
at org.xerial.snappy.SnappyInputStream.readFully(SnappyInputStream.java:116)
at org.xerial.snappy.SnappyInputStream.readHeader(SnappyInputStream.java:88)
at org.xerial.snappy.SnappyInputStream.<init>(SnappyInputStream.java:58)
我假设 byte[] newBuf = new byte[(compressed.length * 2)];
大于 compressed.length*2
,后者会滚动到负数。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)