Java(正,反)序列化
序列化:把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(正,反)序列化相关推荐
- Java正則表達式入门
众所周知,在程序开发中,难免会遇到须要匹配.查找.替换.推断字符串的情况发生,而这些情况有时又比較复杂,假设用纯编码方式解决,往往会浪费程序猿的时间及精力.因此,学习及使用正則表達式,便成了解决这一 ...
- java 四字节uid,Java入门教程-序列化版本号serialVersionUID的作用
原标题:Java入门教程-序列化版本号serialVersionUID的作用 Java序列化是将一个对象编码成一个字节流,反序列化将字节流编码转换成一个对象.序列化是Java中实现持久化存储的一种方法 ...
- java对象的序列化和反序列化详细解释
java对象的序列化和反序列化是什么意思 1.序列化是干啥用的? 序列化的原本意图是希望对一个Java对象作一下"变换",变成字节序列,这样一来方便持久化存储到磁盘,避免程序运行结 ...
- 什么是序列化? 如何实现(反)序列化 序列化的应用
1. 什么是序列化与反序列化,什么情况需要序列化 1.1 序列化 序列化是什么 序列化的目的 什么情况需要序列化 1.2 反序列化 反序列化是什么 反序列化的目的 2. Java中的序列化与反序列化 ...
- Java对象XML序列化框架-Simple2.0
Java对象XML序列化框架-Simple2.0 Simple是一个XML序列化框架,一个Java 版本宽容的序列化框架,能够快速在Java 平台上开发XML.支持通过annotations完全配置化 ...
- java 对象怎么序列化,java对象序列化总结
java对象序列化小结 百度百科上介绍序列化是这样的: 序列化 (Serialization): 将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储 ...
- fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...
- Java对象的序列化与反序列化
序列化与反序列化 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.一般将一个对象存储至一个储存媒介,例如文件或是内存缓冲区等.在网络传输过程中,可以是字节或是 ...
- java字段不序列化注解_@Transient注解的使用(不被序列化和作为临时变量存储)...
java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...
最新文章
- String s=new String(abc)创建了2个对象的原因
- Python汉诺塔问题
- Hadoop入门(Hadoop2.7.2源码编译与伪分布安装)
- a*算法流程图_光伏逆变器MPPT基本算法介绍李星硕
- Python 数据全部显示,去掉中间省略号(pandas、...)
- 7-34 点赞 (20 分)
- anaconda3安装_Ubuntu20.04安装配置Anaconda3
- java recordset_连接数据库返回recordset
- 盘点程序员必备的免费资源网站
- native方法在java中介绍及使用图解
- 深入理解JVM - 系统性能优化
- 光伏发电系统及其MPPT控制
- 【阅读笔记】Inverting Gradients -- How easy is it to break privacy in federated learning?
- vue2.0自学教程(一):走进vue2.0大观园
- 关于使用iframe登录超时,登录页内嵌在原页面
- 人物渲染篇(一) —— 基础卡通渲染 上
- 《黄花黄》安铁诗词作品摘录
- java核心技术卷I 第1-3章 笔记
- 学习笔记STM32F429使用编码器测速HAL库版本
- 前端获取页面的高度/宽度
热门文章
- 电视剧中一看就让人崩溃的镜头大全~
- 苹果cms模板_苹果cms怎么更换模板?
- win8安装sql server2005方法
- Python数据分析与机器学习45- 股票预测
- ‘access denied (“java.io.FilePermission“...... “IKAnalyzer.cfg.xml“ “read“(elasticsearch很容易踩到的坑)
- 无情剑梦断危情java_无情剑梦断危情java版下载-无情剑梦断危情最新版下载v1.1.0 安卓版 - 星光下载...
- ubuntu 里安装 OracleXE
- node中http的请求数据访问在浏览器中的基本使用方法和例子/静态资源库/url的基本使用/mime.json的内容和使用方式
- vbs服务器bat文件,自动以管理员身份运行批处理bat文件(vbs与bat两种方法)
- SpringMVC 13. RESTful CRUD