java 对象序列化与反序列化

package com.JavaIOMytest;

import java.io.*;

public class Person implements Serializable {/*对象继承自Serializable*/
	private String name;
	private int age;
	public Person(String name,int age) {
		this.name=name;
		this.age=age;
		
	}
	public String toString() {
		return"姓名:"+this.name+",年龄:"+this.age;
	}

}

package com.JavaIOMytest;
import java.io.*;
public class SerializableDemo {
	public static void main(String[] args) throws Exception {
		File f=new File("SerializedPerson");
		serialize(f);
		deserialize(f);
	}
	public static void serialize(File f)throws Exception{/*对象序列化*/
		OutputStream outputFile=new FileOutputStream(f);
		ObjectOutputStream cout=new ObjectOutputStream(outputFile);
		cout.writeObject(new Person("张三",25));
		cout.close();
	}
	public static void deserialize(File f)throws Exception{/*对象反序列化*/
		InputStream inputFile=new FileInputStream(f);
		ObjectInputStream cin=new ObjectInputStream(inputFile);
		Person p=(Person)cin.readObject();/*从文件中读入内容,之后将读入 的内容转型为 Person 类的实例*/
		System.out.println(p);/*行直接打印 Person 对象实例,在打印对象 时,默认调用 Person 类中的 toString()方法*/
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_41060905/article/details/80172916