📅  最后修改于: 2023-12-03 15:16:02.434000             🧑  作者: Mango
Java.io.ObjectInputStream类是Java IO API中的一个类,主要用于将Java对象的字节流转换为Java对象实例。它继承自Java.io.InputStream类,并实现了Java.io.ObjectInput接口。
public Object readObject() throws IOException, ClassNotFoundException
: 读取一个Java对象,并转换为相应的实例。public int read() throws IOException
: 读取一个字节的数据。public int read(byte[] b, int off, int len) throws IOException
: 读取指定数量的字节的数据,并将其存储在给定的字节数组中。public final void readFully(byte[] b) throws IOException
: 读取一个字节数组,并将其填充。public final void readFully(byte[] b, int off, int len)
: 在读取指定数量的字节前填充给定的字节数组。public final Object readUnshared() throws IOException, ClassNotFoundException
: 从输入流中读取一个新的“未共享”的对象。protected Object resolveObject(Object obj)
: 如果需要,替换从流中读取的对象。以下示例展示了如何使用Java.io.ObjectInputStream类来读取Java对象的数据流,并将其转换为Java对象实例。
import java.io.FileInputStream;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;
public class ObjectInputStreamExample {
public static void main(String[] args) throws Exception {
// 创建ObjectInputStream
FileInputStream fileInputStream = new FileInputStream("object.dat");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
// 读取Java对象
List<String> list = new ArrayList<>();
list = (List<String>) objectInputStream.readObject();
// 关闭ObjectInputStream
objectInputStream.close();
// 打印Java对象
System.out.println(list.toString());
}
}
在这个例子中,我们使用FileInputStream和ObjectInputStream创建一个输入流对象。我们然后使用readObject方法读取Java对象,并将其转换为ArrayList