3、 (1分) 下列哪个类可以将多个对象序列化到同一个流中,或从同一个流中反序列化出多个对象? A ObjectStreamField B. ObjectOutputStream C. ObjectStreamClass D. ObjectlinputStream
时间: 2024-03-25 15:39:46 浏览: 16
选项B、ObjectOutputStream可以将多个对象序列化到同一个流中,或从同一个流中反序列化出多个对象。
Java中的序列化机制可以将对象转换成字节流,方便在网络上传输或在本地存储。ObjectOutputStream是Java中用于将对象序列化为字节流的类之一,它可以将多个对象序列化到同一个流中,或从同一个流中反序列化出多个对象。
例如,可以使用ObjectOutputStream将多个对象依次写入同一个文件:
```
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("data.obj"))) {
oos.writeObject(obj1);
oos.writeObject(obj2);
oos.writeObject(obj3);
} catch (IOException e) {
e.printStackTrace();
}
```
这个例子中,使用ObjectOutputStream将三个对象(obj1、obj2、obj3)依次写入同一个文件"data.obj"中。
反之,可以使用ObjectInputStream从同一个文件中依次读取出多个对象:
```
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.obj"))) {
Object obj1 = ois.readObject();
Object obj2 = ois.readObject();
Object obj3 = ois.readObject();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
```
这个例子中,使用ObjectInputStream从文件"data.obj"中依次读取出三个对象(obj1、obj2、obj3)。
因此,本题答案为B、ObjectOutputStream。