I/O(输入/输出)---序列化与反序列化
概念:
序列化就是将对象的状态存储到特定的介质中的过程,也就是将对象状态转换为可保持或传输格式的过程。
反序列化则是从特定存储介质中将数据重新构建对象的过程。可以将存储在文件上的对象信息读取,然后重新构建为对象。
过程:
将对象的公有成员、私有成员包括类名,转换为字节流---》写入数据流---》存储到存储介质中(文件)。
意义:
将java对象序列化后,可以将其转换为自己序列,这样就可以保存在磁盘上,也可以借助网络进行传输。
对象的保存是二进制状态,实现了平台的无关性。
import java.io.Serializable; /** Serializable:用于给被序列化的类加入ID号。* 用于判断类和对象是否是同一个版本。 */ //Person诶实现Serializable接口,代表这个类可被序列化 public class Person implements Serializable/*标记接口*/ {/*** transient:非静态数据不想被序列化可以使用这个关键字修饰。 */private static final long serialVersionUID = 9527l;private transient String name;private static int age;public Person(String name, int age) {super();this.name = name;this.age = 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;}}
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import cn.itcast.io.p2.bean.Person;public class ObjectStreamDemo {/*** @param args* @throws IOException * @throws ClassNotFoundException */public static void main(String[] args) throws IOException, ClassNotFoundException {// writeObj(); readObj();}public static void readObj() throws IOException, ClassNotFoundException {//ObjectInputStream 对象输入流ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.object"));//对象的反序列化。需要类型转换。 Person p = (Person)ois.readObject();System.out.println(p.getName()+":"+p.getAge());ois.close();}public static void writeObj() throws IOException, IOException {//ObjectInputStream 对象输出流ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.object"));//对象序列化。 被序列化的对象必须实现Serializable接口。 oos.writeObject(new Person("小强",30));oos.close();}}
转载于:https://www.cnblogs.com/fifiyong/p/6010652.html
I/O(输入/输出)---序列化与反序列化相关推荐
- 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类
IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...
- 【Java基础】Java IO编程:输入输出流、内存流、打印流、缓冲流BufferedReader、扫描流Scanner、序列化与反序列化
文章目录 第11章.Java IO编程 11.1 文件操作类:File 11.2 字节流与字符流 字节输出流:OutputStream OutputStream类 FileOutputStream类 ...
- 2021-04-26 用文件输入输出流来学习对象序列化与反序列化
对象序列化解决的问题:如何去发送对象的内容及如何接收解析对象的内容 序列化:把Java对象转换为字节序列的过程 写对象 反序列化:把字节序列恢复为Java对象的过程 读对象 序列化步骤: 1.创建一个 ...
- fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...
- Java 中序列化与反序列化
一. 序列化和反序列化概念 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.将程序中的对象,放入文 ...
- java 的序列化和反序列化的问题
引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口, ...
- django中序列化、反序列化过程
一.定义序列化器 a.如果需要使用DRF框架来实现序列化.反序列化.数据库操作,在子应用中创建serializers.py文件 b.文件名推荐命名为serializers.py 在serializer ...
- python中常用的序列化模块_Python中的序列化和反序列化
为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...
- ProtoBuf的介绍以及在Java中使用protobuf将对象进行序列化与反序列化
场景 ProtoBuf简介 protocol buffers 是一种语言无关.平台无关.可扩展的序列化结构数据的方法,它可用于(数据)通信协议.数据存储等. Protocol Buffers 是一种灵 ...
最新文章
- ESXi主机与网络中其他主机的网咯数据包捕获
- [置顶] jQuery乱谈(六)
- python numpy.mean() axis参数使用方法【sum(axis=*)是求和,mean(axis=*)是求平均值】
- Beef加载MSF插件
- python3 爬虫--Chrome以及 Chromedriver安装配置
- Redhat ssh服务登录慢
- 商业认知,在投资的时候,为什么别人是经常赚钱,而你却是亏损不断,让我们亏损的根源是什么?
- 软件开发的变化并不大
- JS的 setTimeout 和 bind 使用 、复选框限制选定数据jq
- 计算机系第一学期电脑,公共课第一学期《计算机基础》.doc
- word 中快速加入序号等符号
- matlab:xlsread
- intel固态硬盘损坏修复
- 小学计算机课教学设计加教学反思,小学计算机教育教学反思随笔
- 2015年-读书笔记
- re学习笔记(65)BUUCTF - re - [GKCTF2020]Chellys identity
- 如何在线绘制简单又漂亮的思维导图
- 神经网络偏置值怎么显示,神经网络的偏置和阈值
- 现实版龙王赘婿?乔布斯和Mac OS的前世今生
- (五十四)Android O WiFi 获取扫描结果流程梳理
热门文章
- c++ 计算正弦的近似值_一篇文章搞懂正弦保真性
- CAN总线技术 | 数据链路层04 - CAN节点状态与错误处理机制
- RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程
- c语言用递归方法实现冒泡排序,C语言 冒泡排序 递归法
- two.js文档阅读笔记-two.js的基本使用
- Qt文档阅读笔记-Qt单元测试中模拟GUI事件
- Flask笔记-静态资源和链接的管理
- C++设计模式-外观模式
- Spring Boot关于thymeleaf公共页面抽取
- Qt工作笔记-QVector与QMap查找效率实战