Java序列化与反序列化三种格式存取
作者:网络转载 发布时间:[ 2012/8/14 10:16:17 ] 推荐标签:
@SuppressWarnings("resource")
public void restorePerson(){
try{
FileInputStream fls = new FileInputStream("E:\person.txt");
ObjectInputStream ois = new ObjectInputStream(fls);
Person myPerson = (Person)ois.readObject();
System.out.println(" --------------------- ");
System.out.println("Person --read:");
System.out.println("Name is:"+myPerson.getName());
System.out.println("Age is :"+myPerson.getAge());
}catch(Exception e){
e.printStackTrace();
}
}
}
输出结果:? sr test.serializable.Person I ageL namet Ljava/lang/String;xp t Jay
2、XML格式
//参考:http://www.cnblogs.com/bluesky5304/archive/2010/04/07/1706061.html
public class SerializeXML {
public static void main(String[] args) {
SerializeXML ser = new SerializeXML();
ser.serializeToXml();
ser.deSerializeFromXml();
}
public void serializeToXml(){
Person[] myPersons = new Person[2];
myPersons[0] = new Person("Jay", 24);
myPersons[1] = new Person("Tom", 23);
XStream xStream = new XStream();
xStream.alias("Person", Person.class);
try{
FileOutputStream foStream = new FileOutputStream("E:\persons.xml");
xStream.toXML(myPersons,foStream);
}catch(Exception e){
e.printStackTrace();
}
}
public void deSerializeFromXml(){
XStream xStream = new XStream();
xStream.alias("Person", Person.class);
Person[] myPersons = null;
try{
FileInputStream flStream = new FileInputStream("E:\persons.xml");
myPersons = (Person[])xStream.fromXML(flStream);
if(myPersons!=null){
for(Person person:myPersons){
System.out.println(person.getName());
System.out.println(person.getAge());
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}

sales@spasvo.com