一 介绍
1、对象的序列化,就是将Object转换成byte序列,反之叫对象的反序列化
2、序列化流(ObjectOutputStream),是过滤流。---writeObject
3、反序列化流(ObjectInputStream) ---readObject
4、序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则将出现异常。
这个接口,没有任何方法,只是一个标准。
二 实例
1、需要序列化的类
package com.imooc.io;
import java.io.Serializable;
public class Student implements Serializable{
private String stuno;
private String stuname;
//该元素不会进行jvm默认的序列化,也可以自己完成这个元素的序列化
private transient int stuage;
public Student(String stuno, String stuname, int stuage) {
super();
this.stuno = stuno;
this.stuname = stuname;
this.stuage = stuage;
}
public String getStuno() {
return stuno;
}
public void setStuno(String stuno) {
this.stuno = stuno;
}
public String getStuname() {
return stuname;
}
public void setStuname(String stuname) {
this.stuname = stuname;
}
public int getStuage() {
return stuage;
}
public void setStuage(int stuage) {
this.stuage = stuage;
}
@Override
public String toString() {
return "Student [stuno=" + stuno + ", stuname=" + stuname + ", stuage="
+ stuage + "]";
}
private void writeObject(java.io.ObjectOutputStream s)
throws java.io.IOException{
s.defaultWriteObject();//把jvm能默认序列化的元素进行序列化操作
s.writeInt(stuage);//自己完成stuage的序列化
}
private void readObject(java.io.ObjectInputStream s)
throws java.io.IOException, ClassNotFoundException{
s.defaultReadObject();//把jvm能默认反序列化的元素进行反序列化操作
this.stuage = s.readInt();//自己完成stuage的反序列化操作
}
}
2、测试代码
package com.imooc.io;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObjectSeriaDemo1 {
public static void main(String[] args) throws Exception{
String file = "demo/obj.dat";
//1.对象的序列化
ObjectOutputStream oos = new ObjectOutputStream(
new FileOutputStream(file));
Student stu = new Student("10001", "张三", 20);
oos.writeObject(stu);
oos.flush();
oos.close();
ObjectInputStream ois = new ObjectInputStream(
new FileInputStream(file));
Student stu1 = (Student)ois.readObject();
System.out.println(stu1);
ois.close();
}
}
三 运行结果
Student [stuno=10001, stuname=张三, stuage=20]
相关推荐
本系统通过将电话本里的所有联系人信息采集到系统中,对...本系统能够迅速的对联系人信息进行添加, 删除,修改,并能快速的查询出联系人的基本信息,对业务较多的朋友带了方 便,将一些繁琐的工作变得清晰简单。
C#语言编程,入门级文件操作,序列化部分基本介绍和编程实例
主要介绍了PHP常见的序列化与反序列化操作,结合实例形式分析了php使用serialize()及unserialize()进行序列化与反序列化相关操作技巧及注意事项,需要的朋友可以参考下
如下所示: from library.connecter.database.mongo import Op_Mongo ... 您可能感兴趣的文章:Python使用pickle模块实现序列化功能示例Python使用Pickle库实现读写序列操作示例Python序列化基础知识(json/pi
C#基本IO操作 Filestream textreader textwriter streamwriter streamreader 序列化和反序列化
Xstream是一种OXMapping 技术,是用来处理XML文件序列化的框架,在将javaBean序列化,或将XML文件反序列化的时候,不需要其它辅助类和映射文件,使得XML序列化不再繁琐。XStream使用起来非常简单,不需要预先生成相关...
这是一个简单的画图工具,虽功能简单,但却是对图形操作的基础,对于刚接触文件及图形操作的朋友来说,绝对是不可多得的好例子!我也是刚学习图形的操作,又希望共同进步的朋友,咱们邮件联系!baidu0103@163.com
文章2、DRF实战总结:基于函数的视图API以及自定义序列化器 文章3、DRF实战总结:基于类的视图APIView, GenericAPIView和GenericViewSet视图集 DRF提供了4种编写CBV类API的方式,到底哪种CBV开发模式更好? 答案是...
这种二进制的格式也跟Python语言的版本相关,marshal序列化的格式对不同的版本的Python是不兼容的。 marshal一般用于Python内部对象的序列化。 一般地包括: 基本类型 booleans, integers,floating point numbers...
本资源集成了一系列深入探讨Pandas库高级功能的Python脚本,涵盖数据合并、重塑、分组聚合操作以及复杂的时间序列分析,并辅以直观的数据可视化实例。内容详尽、案例丰富,适合已具备Pandas基础知识的数据分析师、...
我使用Marshal.dump序列化了所有内容,并出于某种原因希望使用它与其他lang互操作这不是给你的。 首先,不要为此使用元帅。 其次,。我想与以Marshal格式存储简单值的Ruby / Rails应用程序交换数据现在我们在谈论。...
本课程实验目的和基本要求:培养学生运用所学数学知识,并利用计算机等现代化手段来解决实际问题的综合能力。使学生熟悉SAS操作系统;掌握SAS/ETS模块进行时间序列分析的一些基本方法和技巧;并逐步了解科学研究...
序列sequence是python中最基本的数据结构,本文是Python序列操作的进阶篇,本文先对序列做一个简单的概括,之后将详细讲解下关于序列的操作方法。文中通过示例代码介绍的很详细,有需要的朋友们可以参考借鉴,下面来...
编写一个程序,实现链队列的各种基本运算,并在基础上完成以下功能: 1) 初始化链队列; 2) 判断链队列是否为空; 3) 依次进队元素a,b,c; 4) 出队一个元素,并输出该元素; 5) 输出链队列的长度; 6) 依次进队元素d,...
基于eBPF收集操作系统信息+使用时间序列模型进行智能化的异常情况检测(源码+项目说明).zip 1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、...
JAVA异常处理机制 一、什么异常(Exception) 1.生活中异常:不正常事件(意外) 2.程序异常:异常是指在程序的运行过程中所发生的不 正常的事件(例外,错误),它会中断正在运行的程序。 3.什么是异常处理:java编程语言使用...
插件,用于访问和序列化带有 , 和 的结构化数据,并以理智和一致的方式。 基本原理 在 AdGear,我们经常处理事件日志。 事件无处不在,在 Kafka 主题、文件、S3 存储桶等中,它们在 Hadoop map-reduce 作业、Storm ...
微信基础操作,附带安全和序列化,代码是从项目文件中剥离出来的,可以作为参考使用。
CSV文件转换;DataTable转实体;Excel操作类;FTP操作类;Html操作类;IP辅助类;JSON操作;JS操作;URL的操作类;XML操作类;处理多媒体的公共类;...二维码操作类;...配置文件操作类;...序列化;压缩解压缩;邮件;字符串
操作系统发展简史 操作系统是管理电脑硬件与软件资源的程序,同时也是... 到了1960年代早期,商用电脑制造商制造了批次处理系统,此系统可将工作的建置、调度以及执行序列化。此时,厂商为每一台不同型号的电脑创造不