序列化:把java对象转换为字节序列的过程

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

实现序列化的步骤(存入数据):

首先引用输出流

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\java制作\\高级特性\\stu.txt"));

其次是存入内容(可根据.writeObject()方法将需要的内容存入):

Student stu = new Student("张三",30,"女");
oos.writeObject(stu);

反序列化的步骤(取出数据):

首先引用输入流

ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\java制作\\高级特性\\stu.txt"));

其次是出取出内容:

Student stus = (Student) ois.readObject();
System.out.println("姓名:"+stus.getName());
System.out.println("年龄:"+stus.getAge());
System.out.println("性别:"+stus.getGender());

\\因为是通过类的方法去存入的所以我们需要调用父类名做变量名,正常的String就可以。

最后是关闭输入与输出流:

oos.close();
ois.close();

以下是代码内容:

实体类:

package com.ytzl.第2章.demo5序列化.one;import java.io.Serializable;
/*Serializable开启序列化*/
public class Student implements Serializable {private String name;private int age;private String gender;//transient,被修饰的变量,不参与序列化过程private transient String password;public Student() {}public Student(String name, int age, String gender) {this.name = name;this.age = age;this.gender = gender;}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;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}
}

测试类:

package com.ytzl.第2章.demo5序列化.one;import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;public class ObjectIO {/*研究使用IO流将对象信息保存成文件,从文件读取对象信息*/public static void main(String[] args) throws Exception{//序列化//对象输出流ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\java制作\\高级特性\\stu.txt"));//创建已经序列化的对象Student stu = new Student("张三",30,"女");oos.writeObject(stu);//反序列化//创建对象输入流ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\java制作\\高级特性\\stu.txt"));Student stus = (Student) ois.readObject();System.out.println("姓名:"+stus.getName());System.out.println("年龄:"+stus.getAge());System.out.println("性别:"+stus.getGender());oos.close();ois.close();}
}

Java(正,反)序列化相关推荐

  1. Java正則表達式入门

     众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一 ...

  2. java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用

    原标题:Java入门教程-序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法 ...

  3. java对象的序列化和反序列化详细解释

    java对象的序列化和反序列化是什么意思 1.序列化是干啥用的? 序列化的原本意图是希望对一个Java对象作一下"变换",变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结 ...

  4. 什么是序列化? 如何实现(反)序列化 序列化的应用

    1. 什么是序列化与反序列化,什么情况需要序列化 1.1 序列化 序列化是什么 序列化的目的 什么情况需要序列化 1.2 反序列化 反序列化是什么 反序列化的目的 2. Java中的序列化与反序列化 ...

  5. Java对象XML序列化框架-Simple2.0

    Java对象XML序列化框架-Simple2.0 Simple是一个XML序列化框架,一个Java 版本宽容的序列化框架,能够快速在Java 平台上开发XML.支持通过annotations完全配置化 ...

  6. java 对象怎么序列化,java对象序列化总结

    java对象序列化小结 百度百科上介绍序列化是这样的: 序列化 (Serialization): 将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储 ...

  7. fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...

    点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...

  8. Java对象的序列化与反序列化

    序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如文件或是内存缓冲区等.在网络传输过程中,可以是字节或是 ...

  9. java字段不序列化注解_@Transient注解的使用(不被序列化和作为临时变量存储)...

    java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...

最新文章

  1. String s=new String(abc)创建了2个对象的原因
  2. Python汉诺塔问题
  3. Hadoop入门(Hadoop2.7.2源码编译与伪分布安装)
  4. a*算法流程图_光伏逆变器MPPT基本算法介绍李星硕
  5. Python 数据全部显示,去掉中间省略号(pandas、...)
  6. 7-34 点赞 (20 分)
  7. anaconda3安装_Ubuntu20.04安装配置Anaconda3
  8. java recordset_连接数据库返回recordset
  9. 盘点程序员必备的免费资源网站
  10. native方法在java中介绍及使用图解
  11. 深入理解JVM - 系统性能优化
  12. 光伏发电系统及其MPPT控制
  13. 【阅读笔记】Inverting Gradients -- How easy is it to break privacy in federated learning?
  14. vue2.0自学教程(一):走进vue2.0大观园
  15. 关于使用iframe登录超时,登录页内嵌在原页面
  16. 人物渲染篇(一) —— 基础卡通渲染 上
  17. 《黄花黄》安铁诗词作品摘录
  18. java核心技术卷I 第1-3章 笔记
  19. 学习笔记STM32F429使用编码器测速HAL库版本
  20. 前端获取页面的高度/宽度

热门文章

  1. 电视剧中一看就让人崩溃的镜头大全~
  2. 苹果cms模板_苹果cms怎么更换模板?
  3. win8安装sql server2005方法
  4. Python数据分析与机器学习45- 股票预测
  5. ‘access denied (“java.io.FilePermission“...... “IKAnalyzer.cfg.xml“ “read“(elasticsearch很容易踩到的坑)
  6. 无情剑梦断危情java_无情剑梦断危情java版下载-无情剑梦断危情最新版下载v1.1.0 安卓版 - 星光下载...
  7. ubuntu 里安装 OracleXE
  8. node中http的请求数据访问在浏览器中的基本使用方法和例子/静态资源库/url的基本使用/mime.json的内容和使用方式
  9. vbs服务器bat文件,自动以管理员身份运行批处理bat文件(vbs与bat两种方法)
  10. SpringMVC 13. RESTful CRUD