java对象反序列化流

想用对象反序列化流 首先 你要用过对象序列化流
如果不了解对象序列化流 可以先看 我的文章
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();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/127418497