java序列化对象,指得就是将对象写入流中和将对象从流中读出。这样就实现了对象的文件形式存储和传输。
下述例子就是实例化了一个对象,并且把对象保存成为一个文件,然后再从这个文件中读出对象。
注意实现最重要的一步,就是实现Person类的Serializable接口。
Person.java
package com.test.myser;
import java.io.Serializable;
public class Person implements Serializable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Person(String name)
{
this.name=name;
}
}
[/codesyntax]
main.java
[codesyntax lang="java"]
package com.test.myser;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class main {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
Person chinese=new Person("中国人");
//写入序列化
FileOutputStream fos = new FileOutputStream("person.out");
ObjectOutputStream oos = new ObjectOutputStream(fos);
System.out.println(" 名字:" + chinese.getName());
oos.writeObject(chinese);
oos.close();
//从流中中读出对象
FileInputStream in=new FileInputStream("person.out");
ObjectInputStream ino = new ObjectInputStream(in);
Person remoteperson=(Person)ino.readObject();
System.out.println(remoteperson.getName());
}
}
我们发现,在编译的目录下,多了这样一个文件
eclipse下的输出结果为