Externalizable自己控制序列化的DEMO
来源:互联网 发布:php 记事本打开是乱码 编辑:程序博客网 时间:2024/05/01 19:38
一、首先一个Demo
package com.yezi.extern;import java.io.Externalizable;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInput;import java.io.ObjectInputStream;import java.io.ObjectOutput;import java.io.ObjectOutputStream;/**** * 使用Externalizable,来自己完全控制序列化操作 * 序列化会调用空的构造函数,必须要有一个空的构造函数 * */public class TestExternSerializable implements Externalizable{public static void main(String[] args) throws IOException, ClassNotFoundException {File file = new File("src/1.txt");ObjectOutput out = new ObjectOutputStream(new FileOutputStream(file));TestExternSerializable tt = new TestExternSerializable("yezi","G");out.writeObject(tt);ObjectInput in = new ObjectInputStream(new FileInputStream(file));System.out.println(in.readObject());}/*** * 反序列化调用 */public TestExternSerializable() {System.out.println("zzzzzz");}public TestExternSerializable(String name,String sex){this.name=name;this.sex=sex;}private String name; //名字private String sex; //性别@Overridepublic void readExternal(ObjectInput in) throws IOException,ClassNotFoundException {System.out.println("read.....");name = (String) in.readObject();sex = (String)in.readObject();}@Overridepublic String toString() {return name+"---"+sex;}@Overridepublic void writeExternal(ObjectOutput out) throws IOException {out.writeObject(name);out.writeObject(sex);System.out.println("write.....");}}
二、简单解析
1、Externalizable的结构关系看API。
2、和Serializable唯一不同的就是必须有个public 的空的构造函数,否则会报错
3、证实使用Externalizable会调用空的构造函数。(Serializable不会)
- Externalizable自己控制序列化的DEMO
- 对象的序列化 Externalizable Serializable
- Java序列化的作用(Serializable/Externalizable)
- 特殊的序列化操作 -- Externalizable、transient
- 序列化Externalizable
- 序列化:Serializable和Externalizable
- 序列化:Serializable、Externalizable、Parcelable
- 序列化接口:Serializable/Externalizable
- Java序列化之Externalizable
- 序列化Serializable和Externalizable
- java Externalizable序列化接口
- JAVA序列化基础知识Serializable与Externalizable的区别
- 对象的序列化实现Serializable 接口和Externalizable接口
- JAVA序列化基础知识Serializable与Externalizable的区别
- JAVA序列化基础知识Serializable与Externalizable的区别
- JAVA序列化基础知识Serializable与Externalizable的区别
- JAVA序列化基础知识Serializable与Externalizable的区别
- 自定义序列化实现Externalizable接口需要注意的问题
- So cute are you python 6
- (新手笔记)为什么用js获取scrollTop的值总是0
- exec系列函数
- CUDA: GPU高性能运算
- 博客使用说明 - 大家一起来hack jobs
- Externalizable自己控制序列化的DEMO
- http通信,json数据解析
- 来看一个费解而有趣的c++现象
- Java 中 finally 语句块的深度辨析
- 菜鸟也是鸟
- c++笔记基础题(5)
- 凤凰网 面试
- STRING和CSTRING 的比较
- php学习笔记 3 函数