如何判断ObjectInputStream读取结束
时间: 2024-01-11 21:02:11 浏览: 75
基于Java回顾之I/O的使用详解
ObjectInputStream在读取对象时,会抛出EOFException异常来表示已经读取到了流的末尾。因此,我们可以在读取对象的时候,使用try-catch块捕获EOFException异常来判断是否读取结束。具体的代码示例如下:
```java
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("object.dat"));
try {
while (true) {
Object obj = ois.readObject();
// 对读取到的对象进行处理
}
} catch (EOFException e) {
// 读取结束,不做任何处理
} catch (IOException | ClassNotFoundException e) {
// 出现其他异常,进行相应的处理
} finally {
ois.close();
}
```
在上面的代码中,当读取到流的末尾时,会抛出EOFException异常,我们在catch块中捕获该异常,并且不做任何处理,从而判断读取结束。
阅读全文