可以通过ObjectOutputStream 和 ObjectInputStream把一个类的对象写入文件或从文件读出
类通过实现标记接口Serializable,被序列化。
transient 表示透明的,序列化不以予考虑
externalizable接口,可以通过重新方法,自己控制序列化的过程
例子:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class ObjectStreamTest {
public static void main(String[] args) throws Exception {
FileOutputStream fos = new FileOutputStream("f:\\dat2.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
T t = new T();
t.k = 33.3;
oos.writeObject(t);
oos.close();
fos.close();
FileInputStream fis = new FileInputStream("f:\\dat2.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
T tReader = (T) ois.readObject();
System.out.println(tReader.i + " " + tReader.j + " " + tReader.k
+ " " + tReader.l);
}
}
class T implements Serializable {
int i = 8;
int j = 9;
double k = 10.1;
transient int l = 11;
}
输出: 8 9 33.3 0