博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
序列化流与反序列化流
阅读量:6586 次
发布时间:2019-06-24

本文共 1467 字,大约阅读时间需要 4 分钟。

序列化流:写操作

将对象变成流数据进行传输,例如保存在一个文件里,在网络中传输。对象 – 流数据(ObjectOutputStream)

反序列化流:读操作

将文件中的流对象数据或者网络中的流对象数据还原成对象。流数据 – 对象(ObjectInputStream)

注意点:

序列化对象要实现序列化接口

// 创建反序列化对象        ObjectInputStream ois=new ObjectInputStream(new FileInputStream("user.txt"));        //流数据--对象        Object o=ois.readObject();        //释放        ois.close();        System.out.println(o);    }    private static void write() throws IOException {        // 创建序列化流对象        ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("user.txt"));        //对象序列化        oos.writeObject(new User("lisi", 20));        //释放        oos.close();    }输出:User [name=lisi]
/* * Serializable接口以启用其序列化功能,未实现此接口的类将无法使其任何状态序列化或反序列化。 *使用transient关键字声明不需要序列化的成员变量 */public class User  implements Serializable{
//序列化id private static final long serialVersionUID = -2071565876962058344L; private String name; //transient关键字声明不需要序列化的成员变量 private transient int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [name=" + name + "]"; } public User(String name, int age) { super(); this.name = name; this.age = age; } public User() { super(); }}

转载于:https://www.cnblogs.com/feiZhou/p/9344463.html

你可能感兴趣的文章
ArrayList和LinkedList内部实现、区别、使用场景
查看>>
1)gitlab+jenkins自动化发布;gitlab搭建
查看>>
Git 常用命令详解(二)
查看>>
Spring数据源的配置:c3p0、dbcp、druid
查看>>
区块链100讲:从村里的账本来看什么是区块链
查看>>
第五次课
查看>>
跟我一起学docker(17)--多节点mesos集群
查看>>
Android 的生命周期深入剖析
查看>>
AI行业强者愈强?Tesra超算网络助力中小AI开发企业!
查看>>
Nginx 目录配置详解
查看>>
关于 PHP 5.4 你所需要知道的
查看>>
codeforces 810A
查看>>
ajax无刷新翻页后,jquery失效问题的解决
查看>>
C++ Primer学习笔记一
查看>>
程序员必须知道的10大基础实用算法及其讲解
查看>>
正则表达式
查看>>
阿里云的yum更新源
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
20160309作业
查看>>