java 对象序列化

上代码

/**
 * Person.java
 */
import java.io.*;

public class Person implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String name;
	private int age;
	
	public Person(String str,int num)
	{
		name=str;
		age=num;
	}
	public String toString()
	{
		return "Name:"+name+"\tAge:"+age;
	}
}
/**
 * SerializableDemo.java
 */
import java.io.*;

public class SerializableDemo
{
	public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException
	{
		Person pers=new Person("cjc",24);
		File f=new File("F:\\workspace\\JavaPrj\\test.txt");
		serial(pers,f);
		deserial(f);
	}
	public static void serial(Object p,File f) throws FileNotFoundException, IOException
	{
		ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(f));
		out.writeObject(p);
		out.close();
	}
	public static void deserial(File f) throws FileNotFoundException, IOException, ClassNotFoundException
	{
		ObjectInputStream in=new ObjectInputStream(new FileInputStream(f));
		Person p=(Person)in.readObject();
		in.close();
		System.out.println(p);
	}
}

另外,如果不希望类中的属性被序列化,可以在声明属性之前加上transient关键字

将name属性修改为transient,即private transient String name;


java 对象序列化,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。