使用对象流读取文件中所有的对象
时间: 2024-05-08 09:17:15 浏览: 71
Delphi_用流来读取TXT文件
3星 · 编辑精心推荐
以下是使用对象流读取文件中所有对象的Java示例代码:
```java
import java.io.*;
public class ReadObjectsFromFile {
public static void main(String[] args) {
try {
FileInputStream fileInputStream = new FileInputStream("objects.dat");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
try {
while (true) {
Object object = objectInputStream.readObject();
// 处理读取到的对象,例如输出到控制台
System.out.println(object.toString());
}
} catch (EOFException e) {
// 文件读取完毕
System.out.println("文件读取完毕!");
}
objectInputStream.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
```
在示例代码中,我们首先使用`FileInputStream`将文件`objects.dat`读入内存,然后使用`ObjectInputStream`将其转换为对象输入流。
接下来,我们进入一个无限循环,不断使用`readObject()`方法从对象输入流中读取对象,并进行处理。当读取到文件结尾时,会抛出`EOFException`异常,我们可以通过捕获该异常来判断文件是否读取完毕。
最后,我们需要关闭对象输入流来释放资源。如果在读取对象时发生了异常,我们也需要正确地关闭对象输入流来保证文件资源能够被释放。
阅读全文