提问人:LostReality 提问时间:1/20/2022 最后编辑:Mark AdlerLostReality 更新时间:3/16/2022 访问量:2642
尝试压缩文件时出现随机“Zlib 输入流意外结束”异常
Random "Unexpected end of Zlib input stream" exception when trying to gunzip files
问:
我有一个类,应该将给定的 tar.gz 文件提取到一个简单的 .tar 文件中。 但是对于某些文件,会抛出此异常:
java.io.EOFException: Unexpected end of ZLIB input stream
管理提取的方法如下所示:
GZIPInputStream gzipInputStream;
FileOutputStream fileOutputStream;
byte data[] = new byte[BUFFER];
gzipInputStream = new GZIPInputStream( baseInputStream );
fileOutputStream = new FileOutputStream( destinationFile );
while ( ( count = gzipInputStream.read( data, 0, BUFFER ) ) != -1 )
{
fileOutputStream.write( data, 0, count );
}
fileOutputStream.flush();
fileOutputStream.close();
gzipInputStream.close();
奇怪的是,某些文件会引发异常,有时不会,但我不知道为什么...... :(
我错过了什么吗?
非常感谢,
答:
2赞
LostReality
3/15/2022
#1
该错误是由于另一个线程并发访问该文件所致。
上一个:EoF System.in 处理
下一个:打印段落中的字数
评论