首页 > 代码库 > java 对象序列化
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;
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。