Serializable是怎么工作的(反序列化)

在《Serializable是怎么工作的(写入)》篇文章中,我们大致了解了Serializable的写入过程,我们用到的是ObjectOutputStream,那与之对应的就是反序列化,把存入文件的二进制数据,读出来,转换为对应的实例对象,这次就该用到ObjectInputStream了。使用代码大致如下:

TesyBean sBean = new TesyBean();
String path = "/Users/menghui/Downloads/mh.obj";
FileInputStream fileInputStream;
File file = new File(path);
try {
    fileInputStream = new FileInputStream(file.toString());
    try {
        ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
        //这里读出数据,转换为具体实例
        sBean = (TesyBean) objectInputStream.readObject();
    } catch (IOException e) {
        e.printStackTrace();
    }catch (ClassNotFoundException e) {
        e.printStackTrace();
    }

} catch (FileNotFoundException e) {
    e.printStackTrace();
}

使用过程中,先通过FileInputStream将文件数据读入,然后创建ObjectInputStream,并传入

猜你喜欢

转载自blog.csdn.net/bdmh/article/details/104625186