想用对象反序列化流 首先 你要用过对象序列化流
如果不了解对象序列化流 可以先看 我的文章
java对象序列化流 将对象写入文件当中
到 文章最后 我们会得到这样的一个文件
对象反序列化流的作用就是将这样一个对象从文件中读取出来
import java.io.ObjectInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class text {
public static void main(String args[]) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\学习案例\\java\\目的地\\example.java"));
}
}
这里 我们先通过FileInputStream 读文件对象创建了一个ObjectInputStream对象反序列化流
对象反序列化流主要用readObject函数来读取文件对象
Object iso = ois.readObject();
然后我们知道 我们是用 customException 类写入的文件对象
那么我们就还可以用 customException对象来接受他
customException c = (customException) iso;
然后我们试着利用customException new出来的这个对象 c来调用customException中的方法
System.out.println(c.getName());
最后别忘了释放资源
ois.close();
代码运行结果如下
可以看到 我们成功拿到了我们写入文件的对象 输出的name 正式利用序列化流写入的对象内容
整体参考代码如下
import java.io.ObjectInputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class text {
public static void main(String args[]) throws IOException, ClassNotFoundException {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\学习案例\\java\\目的地\\example.java"));
Object iso = ois.readObject();
customException c = (customException) iso;
System.out.println(c.getName());
ois.close();
}
}