博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义序列化
阅读量:5092 次
发布时间:2019-06-13

本文共 1552 字,大约阅读时间需要 5 分钟。

package File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.io.Serializable;import java.io.IOException;public class SerializeTest {	public static void main(String[] args) {		try (ObjectOutputStream oos = new ObjectOutputStream(				new FileOutputStream("transient.txt"));				ObjectInputStream ois = new ObjectInputStream(						new FileInputStream("transient.txt"))) {			Person per = new Person("孙悟空", 500);			oos.writeObject(per);			Person p = (Person) ois.readObject();			System.out.println(p.getName());//输出空悟孙			System.out.println(p.getAge());//输出501		} catch (Exception e) {			e.printStackTrace();		}	}}class Person implements Serializable {           //序列化的类必须实现Serializable或Externalizable接口	private String name;	private transient int age;//transient表示不进行不序列化	public Person(String name, int age) {		this.name = name;		this.age = age;	}	public String getName() {		return this.name;	}	public int getAge() {		return this.age;	}	public void setName(String name) {		this.name = name;	}	public void setAge(int age) {		this.age = age;	}		/*进行自定义序列化,要在序列化的类中添加两个方法,都是private,这里用到了反射*/		private void writeObject(ObjectOutputStream out)throws IOException	{		out.writeObject(new StringBuffer(name).reverse());		out.writeInt(age);	}	private void readObject(ObjectInputStream in)throws IOException, ClassNotFoundException	{		this.name = ((StringBuffer)in.readObject()).toString();		this.age = in.readInt()+1;	}}

 

转载于:https://www.cnblogs.com/masterlibin/p/4788510.html

你可能感兴趣的文章
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>
Mysql数据库备份和还原常用的命令
查看>>
关于退出当前页面在火狐的一些问题
查看>>