【问题标题】:java.io.EOFException: Unexpected end of ZLIB input stream reading a filejava.io.EOFException:读取文件的 ZLIB 输入流意外结束
【发布时间】:2015-01-25 08:04:15
【问题描述】:

我写了以下代码来读取 Freebase 数据转储,我得到了错误 java.io.EOFException: Unexpected end of ZLIB input stream,我不知道该如何解决这个问题。 你能告诉我问题出在哪里吗?

 GZIPInputStream in = new GZIPInputStream(new FileInputStream(path.freebaseTriples));

 String line;
 Reader decoder = new InputStreamReader(in);
 BufferedReader br = new BufferedReader(decoder);
 ParseFreebaseRDF rdfs= new ParseFreebaseRDF();

 while ((line = br.readLine()) != null) {
     rdfs.parser(line);
 }

 br.close();
 decoder.close();
 in.close();

【问题讨论】:

  • 使用 try-catch 块
  • @Mr. Polywhirl 你的意思是while条件有一些问题?顺便说一句,如果我用户尝试捕获,那么我只捕获异常而不解决它。我正确吗?

标签: java zlib


【解决方案1】:

问题不在此代码中,无论其优点或缺点是什么。问题出在文件中。它被截断:例如,可能没有正确下载。

【讨论】:

  • 并非所有文件都发生此错误。使用多线程同时下载和读取 4 个文件时,一个文件会发生这种情况。可以捕获异常并继续前进还是可以尝试其他方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2019-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多