从文件中读取Java对象

从文件中读取Java对象

Tags: Java 序列化

摘要

从文件中读取Java对象

反序列化概念解释

上一小节中讲了如何把一个Java对象写入到文件中,这一节中将学习如何从已经保存对象的文件中读取出来这个Java对象,或者也可以叫做反序列化。

反序列过程也很简单,使用ObjectInputStream读取文件内容并且转换类型即可。

反序列化类

package cn.javacore.io.serialization;

import java.io.FileInputStream;
import java.io.ObjectInputStream;

public class Deserializer {

    public static void main(String args[]) {

        Deserializer deserializer = new Deserializer();
        Address address = deserializer.deserialzeAddress();
        System.out.println(address);
    }

    public Address deserialzeAddress() {
        Address address;
        try {
            FileInputStream fin = new FileInputStream("/home/zhu/address.ser");
            ObjectInputStream ois = new ObjectInputStream(fin);
            address = (Address) ois.readObject();
            ois.close();
            return address;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
}