java流意外结束_java – 异常:ZLIB输入流意外结束

GZIPInputStream或GZIPOutputStream有问题.请阅读以下代码(或运行它,看看会发生什么):

def main(a: Array[String]) {

val name = "test.dat"

new GZIPOutputStream(new FileOutputStream(name)).write(10)

println(new GZIPInputStream(new FileInputStream(name)).read())

}

它创建一个文件test.dat,由GZIP写入一个单字节10格式,并以相同的格式读取同一个文件中的字节.

这就是我运行它:

Exception in thread "main" java.io.EOFException: Unexpected end of ZLIB input stream

at java.util.zip.InflaterInputStream.fill(Unknown Source)

at java.util.zip.InflaterInputStream.read(Unknown Source)

at java.util.zip.GZIPInputStream.read(Unknown Source)

at java.util.zip.InflaterInputStream.read(Unknown Source)

at nbt.Test$.main(Test.scala:13)

at nbt.Test.main(Test.scala)

由于某种原因,阅读线似乎错了.

我google错误的ZLIB输入流的意外结束,并发现了一些关于2007年至2010年发布的Oracle的错误报告.所以我猜这个错误仍然在某种程度上,但是我不知道我的代码是否正确,所以让我在这里发贴,听你的意见.谢谢!