java 串行化 序列化_对象串行化 对象序列化
[java]代码库import java.io.*;
/*
* SerializableObject.java
*
* Created on 2006年8月23日, 上午11:26
*
* 对象串行化
* 对象通过写出描述自己状态的数值来记录自己,这个过程叫做对象串行化。对象的寿命通
* 常是随着生成该对象的程序的终止而终止,在有些情况下,需要将对象的状态保存下来,然后
* 在必要的时候将对象恢复,值得注意的是,如果变量是另一个对象的引用,则引用的对象也要
* 串行化,串行化是一个递归的过程,可能会涉及到一个复杂树结构的串行化,比如包括原有对
* 象,对象的对象等。
* 在java.io包中,接口Serializable是实现对象串行化的工具,只有实现了Serializable
* 的对象才可以被串行化。Serializable接口中没有任何的方法,当一个类声明实现Seriali-
* zable接口时,只是表明该类遵循串行化协议,而不需要实现任何特殊的方法。
* 在进行对象串行化时,需要注意将串行化的对象和输入、输出流联系起来,首先通过对
* 象输出流将对象状态保存下来,然后通过对象输入流将对象状态恢复。
*/
class Book implements Serializable {
String isbn;
String name;
int page;
String type;
public Book(String isbn, String name, int page, String type) {
this.isbn = isbn;
this.name = name;
this.page = page;
this.type = type;
}
}
public class SerializableObject implements Serializable {
public static void main(String[] args) throws IOException,
ClassNotFoundException {
Book bookObj = new Book("7-02-016450-1", "Java", 218, "programming");
FileOutputStream fileOStream = new FileOutputStream("temp.ser");
ObjectOutputStream objOutStream = new ObjectOutputStream(fileOStream);
try {
objOutStream.writeObject(bookObj);
objOutStream.close();
} catch (IOException e) {
e.printStackTrace();
}
bookObj = null;
FileInputStream fileInStream = new FileInputStream("temp.ser");
ObjectInputStream objInStream = new ObjectInputStream(fileInStream);
try {
bookObj = (Book) objInStream.readObject();
objInStream.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("------------------------------------------------");
System.out.println("There are information about book:");
System.out.println("ISBN Number: " + bookObj.isbn);
System.out.println("Book Name: " + bookObj.name);
System.out.println("Book Page: " + bookObj.page);
System.out.println("Book Type: " + bookObj.type);
}
}
java 串行化 序列化_对象串行化 对象序列化相关推荐
- mac 命令行打开火狐_从命令行打开多个Firefox选项卡
mac 命令行打开火狐 Now that I work on Firefox Developer Tools, I'm really starting to learn some of the tri ...
- java 反射动态修改数据类型_[Java-基础]反射_Class对象_动态操作
动态性 动态语言 在程序运行时,可以改变程序结构或变量类型,典型的语言: Python,ruby,javascript 如: function test(){ var s = "var a= ...
- java抖音字符视频_抖音流行的字符视频如何实现
前几天,有个朋友给我分享了一个抖音短视频链接,是以代古拉k跳舞视频为原型的字符视频,朋友问我:"这个你知道怎么做吗?". 我们都知道视频是由一帧一帧的静态图片组合而成的,所以当我们 ...
- java timer 序列化_编程达人 应用层timer_如何序列化timer
本文摘自 https://www.cnblogs.com/embedded-linux/p/9093990.html 应用层使用timer可以启动多个timer(每个timer管理一个目标时间) ...
- java山地车和索罗门_自由骑行山地车(Freeride(FR)
此种车辆和Enduro(AM)有相似之处.但不强调轻量的需求,而是更加看重减震的效果. 算是 DH 和 XC 的 综合 版 .FR自行车趋向于更长更好的减震,8寸或者更长的后减震都是很正常的配置.它的 ...
- 命令行处理器命令_使用命令行处理器
命令行处理器命令 在你开始前 DB2 JSON可用于Linux,UNIX和Windows 10.5的DB2以及用于z / OS V3.1的IBM DB2 Accessories Suite来与DB2 ...
- spring序列化_使用@JsonIdentityInfo的Spring自定义序列化器
spring序列化 介绍 Spring中从JSON到JSON的序列化/反序列化已广泛用于基于Spring的现代应用程序中. 它基于杰克逊. Jackson可以轻松地将任何POJO序列化为JSON,反之 ...
- php中调行高代码_单元格行高怎么设置
单元格行高怎么设置? 如图一张表,全选,全选的快捷键是Ctrl+A.全选之后第一种方法是直接用鼠标放到最前面的竖栏上,放在数据与数据之间交叉的框上,会出现一个+字的符号. 这个时候点击鼠标左键拉动,就 ...
- 使用mysql命令行的工具_[MySQL]命令行工具和基本操作
一 MySQL命令行工具 (查看帮助 ---help,或 -?) 1)MySQL MySQL是一个简单的SQL外壳(有GNUreadline功能).它支持交互式和非交互式使用.当交互使用时,查询结果 ...
- 二叉树线索化示意图_二叉树的线索化
二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历.二叉树作为存储结构时,一个节点只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继.为了保存这种在 ...
最新文章
- Linux下的删除命令
- 中石油训练赛 - One-Way Conveyors(边双缩点+树上差分)
- 工作177:表单重置项目处理
- Android Service LifeCycle
- mysql安装后变10g_Oracle 10G安装中一些常见问题解决
- 安卓恶意软件Skygofree爆发,连你的照片都能监控到
- React学习笔记—属性转移
- Per-class allocator 2
- SpringBoot 实现接口参数加密解密功能
- Vue中使用Video标签播放 <解析后的短视频>去水印视频无响应
- tspline工具_Rhino 6 如何使用 T-spline?
- latex数学公式转换器
- uCos中的信号量机制
- c语言无符号数最大值和最小值,c语言 int最大值是多少?
- easyui-filebox清空方法扩展自TextBox
- 论坛报名 | 语音与自然语言处理的最新突破和前沿趋势。道翰天琼认知智能平台为您揭秘新一代人工智能-1。
- SAP SD客户寄售案例教程1
- 关于启动 vue 项目出现 98% after emitting CopyPlugin 问题的出现
- 树莓派获取LAN ip地址并发送到微信
- Git中pull操作
热门文章
- centos7 mysql安装_CentOS7安装MySQL(详解)
- 【雷达通信】基于Matlab GUI中重频PD雷达仿真系统【含Matlab源码 1055期】
- 【模拟信号】基于matlab标准调幅信号产生+解调【含Matlab源码 984期】
- 【房价预测】基于matlab遗传算法优化BP神经网络房价预测【含Matlab源码 592期】
- 【语音分离】基于matlab FastICA语音信号采集+混合+分离【含Matlab源码 008期】
- python yield理解_python教程:迭代器,生成器与for循环机制
- 个性化推荐系统_推荐系统,个性化预测和优点
- 小程序会话服务器,完美解决小程序session问题
- oc传参数给js_一道面试题引发关于 js 隐式转换的思考
- nginx upstream配置_效率倍增!网易杭研Nginx自动扩缩容实践