📅  最后修改于: 2023-12-03 14:42:50.481000             🧑  作者: Mango
ObjectInputStream
类是Java中的对象输入流类,通常与ObjectOutputStream
结合使用,用于对Java中的对象进行序列化和反序列化。read()
方法是ObjectInputStream
类中的一个核心方法,用于从输入流中读取一个Java对象。
public Object read() throws IOException, ClassNotFoundException
该方法没有参数。
读取的Java对象。
下面是一个使用ObjectInputStream
类和read()
方法的示例:
import java.io.*;
public class ReadObject {
public static void main(String[] args) {
try {
FileInputStream fileInput = new FileInputStream("user.ser");
ObjectInputStream objectInput = new ObjectInputStream(fileInput);
User newUser = (User) objectInput.read();
System.out.println(newUser);
objectInput.close();
fileInput.close();
} catch(IOException e) {
e.printStackTrace();
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
}
}
在上述示例中,我们使用FileInputStream
类和ObjectInputStream
类读取一个保存在文件中的对象,并将其转换为User
类的实例对象。最后,我们将该对象输出到控制台上,并关闭文件和对象输入流。
注意: 由于方法read()
会抛出ClassNotFoundException
异常,因此我们需要在方法的声明中添加throws
语句来捕获该异常。
read()
方法是ObjectInputStream
类中的一个非常重要的方法,它使得我们能够在Java中对对象进行序列化和反序列化操作。通过本篇文章,我们不仅学习了read()
方法的语法、参数以及返回值,还通过一个示例代码了解了该方法的具体使用方式。