Java中对象的序列化详解及实例

 更新时间:2017年04月18日 10:00:16   投稿:lqh  
这篇文章主要介绍了 Java中对象的序列化详解及实例的相关资料,需要的朋友可以参考下

 Java中对象的序列化详解及实例

把java对象转化为字节序列的过程称为对象的序列化。

把字节序列恢复为java对象的过程称为对象的反序列化。

对象序列化的用途:

1.把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中
2.在网络上传送对象的字节序列化

 void writeObject(Object obj) 方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中(将指定的对象写入 ObjectOutputStream。)

 void readObject()方法 从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回( 从 ObjectInputStream 读取对象。)

只有实现了Serializable和Externalizable接口的类对象才能被序列化。

Externalizable接口继承自Serializable接口,实现Externalizable接口的类完全由自身来控制序列化的行为,而实现Serializable接口类可以采用默认的序列化方式

public static void readObj()throws Exception
  {
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.txt"));

    Person p = (Person)ois.readObject();

    System.out.println(p);
    ois.close();
  }

 public static void writeObj()throws IOException
  {
    ObjectOutputStream oos = 
      new ObjectOutputStream(new FileOutputStream("obj.txt"));

    oos.writeObject(new Person("lisi0",399,"kr"));

    oos.close();
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java新手入门学习之正则表达式

    Java新手入门学习之正则表达式

    这篇文章主要给大家介绍了关于Java新手入门学习之正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • SpringMVC+Mysql实例详解(附demo)

    SpringMVC+Mysql实例详解(附demo)

    本篇文章主要介绍了SpringMVC+Mysql实例详解(附demo),小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-12-12
  • Java servlet 使用 PrintWriter 时的编码与乱码的示例代码

    Java servlet 使用 PrintWriter 时的编码与乱码的示例代码

    本篇文章主要介绍了Java servlet 使用 PrintWriter 时的编码与乱码的示例代码,探讨了 PrintWriter 的缺省编码与普通字符流的缺省编码的差异,具有一定的参考价值,有兴趣的可以了解一下
    2017-11-11
  • java 引用传递的三种类型小结

    java 引用传递的三种类型小结

    这篇文章主要介绍了java 引用传递的三种类型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • IDEA 中 maven 的 Lifecycle 和Plugins 的区别

    IDEA 中 maven 的 Lifecycle 和Plugins&n

    IDEA 主界面右侧 Maven 标签栏有同样的命令,比如 install,既在 Plugins 中存在,也在 Lifecycle中存在,到底选哪个?二者又有什么区别呢?下面小编给大家介绍下IDEA 中 maven 的 Lifecycle 和Plugins 的区别,感兴趣的朋友一起看看吧
    2023-03-03
  • SpringBoot+MyBatis实现MD5加密数据库用户密码的方法

    SpringBoot+MyBatis实现MD5加密数据库用户密码的方法

    MD5技术主要用于对用户密码加密,增加账户的安全性,他具有不可逆的特性,不会被轻易解密,这篇文章给大家介绍SpringBoot+MyBatis实现MD5加密数据库用户密码的方法,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • Java中的三元运算(三目运算)以后用得到!

    Java中的三元运算(三目运算)以后用得到!

    Java提供了一个三元运算符,可以同时操作3个表达式,下面这篇文章主要给大家介绍了关于Java中三元运算(三目运算)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • java servlet手机app访问接口(二)短信验证

    java servlet手机app访问接口(二)短信验证

    这篇文章主要介绍了java servlet手机app访问接口(二),短信验证,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JC

    这篇文章主要介绍了JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架的相关资料,需要的朋友可以参考下
    2016-12-12

最新评论