首页 > 编程语言 >java的序列化和反序列化

java的序列化和反序列化

时间:2024-07-02 22:55:42浏览次数:15  
标签:bat java Person 对象 doc person 序列化

一、概念

序列化是将对象的常态存储到特定的存储介质中的过程。

反序列化是将特定的存储介质中的数据重新构建对象的过程。

45d8d92b3b534835990cbd1f8b1b405e.png

问题

为每个对象属性——编写读写代码,过程很繁琐且非常容易出错,如何解决?

8cfd13ab7a504237b8f4e777cd7f499c.png 

二、使用Object Output Stream类实现序列化

a.序列化的对象所属类必须为可序列化的类。

b.一个类实现java.io.Serializable接口,该类的对象是可序列化的。

ccf9b64dc7d2486c908fc5d4478daa4f.png 

c.示例

1.创建一个Person类,并标记该类的对象是可序列化的

6eb47cc89ef34e4095346043b540a5f1.png 

2.创建person对象,将其序列化保存在D:\\doc\\person.bat文件中。

6baef7b3c8c8482e9f91b2b27c1a83d3.png

 3.保存多个Person对象到D:\doc\person.bat文件中

d04397b4b9fb44d19da93a87a6018706.png

 

d.常用方法

91dfc5741cc34505aebe35d91faa8b30.png 

 e.实现步骤

600266ad4f3744a488e9de04eb1b113e.png

 三、使用Object Input Stream类实现反序列化

a.使用对象输出流Object Input Stream可以还原序列化对象。

b.常用方法

f8fbd096eb2c4efe9ca1a6f66727b807.png

c.示例

读取D:/doc/person.bat文件中一个Person对象的数据。

daf860221960465ea27558370b3b3041.png 

读取文件D:/doc/person.bat中多个Person对象的数据。

4f3eadcd03dc49f18b15b12557041a69.png 

d.实现步骤

849b95fcf3bf4dbb9bf253d118752803.png 

 

今日总结就到此结束啦,拜拜!

0f9d0759a9a0413eb7e3d1ea3e5093bc.png 

 

标签:bat,java,Person,对象,doc,person,序列化
From: https://blog.csdn.net/2401_85520405/article/details/140071241

相关文章

  • java07
    数组数组的声明和创建dataType[]=arrayRefVar创建数组dataType[]arrayRefVar=newdataType[array.length];数组长度arrays.length内存堆:1,存放new的对象和数组2,栈:1,存放基本的变量类型2,引用对象的变量数组的注意事项1.数组一旦被创建,长度就是确定的2.其元素必须......
  • 从零开始学习Java的第五天
    掌握数组的定义数组:用来存储一批同种类型数据的容器遇到批量数据的存储和操作时,用数组比用变量更适合了解静态初始化数组数据类型[] 数组名=new数据类型[]{元素1,元素2,元素3,......}简化写法:数据类型[] 数组名={元素1,元素2,元素3,......}数据类型[] ......
  • 从零开始学习Java的第三天
    掌握switch语句的用法switch语句具有穿透性,所以语句间要加上break循环语句的组成:初始化语句:循环开始时候什么样条件判断语句:循环是否能一直执行下去循环体语句:循环反复执行的事情条件控制语句:控制循环是否能执行下去循环结构对应的语法:初始化语句:这里可以是一条或多条......
  • java中处理字符串常用的api
    Java中String常用APIString类位于jdk中的java.lang.String包中publicintlength()获取字符串的长度(字符的个数)publiccharcharAt(intindex)获取某个索引位置的字符返回publicchar[]t......
  • 【Java学习笔记】方法的使用
    【Java学习笔记】方法的使用一、一个例子二、方法的概念及使用(一)什么是方法(二)方法的定义(三)方法调用的执行过程(四)实参和形参的关系(重要)(五)没有返回值的方法三、方法重载(一)为什么需要方法重载(二)方法重载概念(三)方法签名四、递归(一)生活中的故事(二)递归的概念(三)递归执行过程分......
  • Java学习笔记
      Linux系统-部署-运维系列导航  maven多环境配置,根据激活环境,只打包对应的配置文件1.多环境配置<profiles><profile><id>dev</id><properties><!--环境标识,需要与配置文件的名称相对应--><......
  • Java基础(十一):抽象类、接口、内部类
    目录一、抽象类1、语法格式2、abstract修饰类3、abstract修饰方法二、接口1、定义格式2、接口的说明3、接口的使用规则3.1、类实现接口3.2、接口的多实现3.3、接口的多继承3.4、接口与实现类对象构成多态引用3.5、使用接口的静态成员3.5、使用接口的静态方法4、JDK8中......
  • 【JavaSE】基础篇(六)类型转换与进制书写
    隐式转换:把一个取值范围小的数值或者变量,赋值给另一个取值范围大的变量。并转换类型。取值范围小的数据,和取值范围大的数据进行运算时,小的会先提升为大的之后,再进行运算。(byte、short、char三种数据在运算时,都会提升为int,然后再进行运算)而Java中数据类型不一致无法进行......
  • 57.Django框架之序列化输出
    Django框架【一】序列化组件1)使用案例在前端获取到后端用户表里面的所有数据,并且格式是列表套字典#创建模型表classUser(models.Model): username=models.CharField(max_length=32,verbose_name="姓名")age=models.IntegerField(verbose_name="年龄")2)基于J......
  • 基于javaweb的宠物猫认养系统论文
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装宠物猫认养系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,宠物猫认养系统的......