博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中序列化和反序列化的使用
阅读量:4220 次
发布时间:2019-05-26

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

Java中序列化是指将Java对象通过变换成为字节序列,来将该对象持久化到硬盘中。并且字节序列也很适合网络传输,因此如果需要在网络中传递Java对象,可以在其先序列化后进行传输,并由接收方进行反序列化操作。Java中反序列化是指将序列化的字节序列重新组织成Java对象,实际上,序列化是指将Java对象转换为字节序列,而反序列化是指将字节序列转换为Java对象。

假设存在一个User对象,其代码如下:

 public class User implements Serializable{     public String name;     public int age; }

如果需要进行序列化,可以:

 User user = new User(); user.name = "XuJun"; user.age = 13; ​ File file = new File("user.txt"); ​ ObjectOutputStream objOut = new ObjectOutputStream(new FileOutputStream(file)); objOut.writeObject(user); objOut.close();

此时,user对象就被序列化到了user.txt中

如果需要进行反序列化的操作,可以:

 User user = null; File file = new File("user.txt"); ​ ObjectInputStream objInput = new ObjectInputStream(new FileInputStream(file)); user = (User)objInput.readObject(); objInput.close();

注意:

  • 被static、transient修饰的字段不会被序列化

  • 建议为要序列化的类添加serialVersionUID,如果使用者没有添加,编译期会自动添加一个

转载地址:http://cbmmi.baihongyu.com/

你可能感兴趣的文章
C++ 枚举声明 enum 和 enum class
查看>>
Python optionParser模块的使用方法
查看>>
android 消灭星星出错
查看>>
PyCharm 教程(三)Hello world!
查看>>
PyCharm: 显示源码行号
查看>>
cocos2dx使用第三方字库.ttf,需要注意的事项
查看>>
cocos2.X版本lua端使用定时器的方法
查看>>
lua math.fmod使用注意小数问题
查看>>
lua 时间转化
查看>>
lua学习笔记之五(Lua中的数学库)
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第一篇:互联网时代U盘化生存方式 【张振华.Jack】
查看>>
CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第二篇:专注的力量 [张振华.Jack]
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第三篇:我的舍与得的2014[张振华.Jack]
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第五篇:不要给自己找任何借口【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第七篇:请留意我们身边的风景 【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第八篇:坚持的力量 【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第九篇:春节那些事-过年回家不需要理由【张振华.Jack】
查看>>
【屌丝程序的口才逆袭演讲稿50篇】第十一篇:马云乌镇40分钟演讲实录【张振华.Jack】
查看>>
Java并发编程从入门到精通 张振华.Jack --我的书
查看>>