首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EOFException与ObjectInputStream

EOFException与ObjectInputStream
EN

Stack Overflow用户
提问于 2020-12-18 17:28:12
回答 1查看 26关注 0票数 0

我读过其他类似的问题,但没有多大帮助。所以我在一个文件中有一些序列化的内容,我试图读取它并在控制台上打印它,内容被打印得很好,但是在最后,它显示的是一个EOFException。有任何方法来修正我的代码以避免这个异常吗?

代码语言:javascript
复制
try {
            File file = new File("EnrolledStudentsSerial.txt");
 
            FileInputStream fi = new FileInputStream(file);
            ObjectInputStream input = new ObjectInputStream(fi);
            while(true) {
                System.out.println(input.readObject());
            }
        } 
        catch (IOException | ClassNotFoundException e) {
            System.out.println("Error: " + e); 
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-18 17:47:55

我不认为你想“避免”这个例外。

您需要知道何时输入结束,EOFException是什么告诉您,您已经到了输入的末尾。

相反,您希望停止将其视为错误条件,因为它不是一个错误,它是正常的和预期的。

代码语言:javascript
复制
try {
   … code as before … 
} 
catch (EOFException e) {
   // end of input, nothing to do here
}
catch (IOException | ClassNotFoundException e) {
    System.out.println("Error: " + e); 
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65361342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档