java 对象序列化

来源:互联网 发布:程序员做笔记的软件 编辑:程序博客网 时间:2024/04/29 13:54

上代码

/** * 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;


1 0