java——Object流
直接将Object写入或者读出。
java.io
Class ObjectInputStream
java.io
Class ObjectOutputStream
TestObjectIO.java
import java.io.*; /* 测试Object流: ObjectOutputStream ObjectInputStream */ public class TestObjectIO { public static void main(String args[]) throws Exception { T t = new T(); t.i = 8; //输出文件F:/java/io/testobjectio.dat FileOutputStream fos = new FileOutputStream("F:/java/io/testobjectio.dat"); //Object输出流, ObjectOutputStream oos = new ObjectOutputStream(fos); //写入Object对象 oos.writeObject(t); oos.flush(); oos.close(); //输入文件 FileInputStream fis = new FileInputStream("F:/java/io/testobjectio.dat"); //Object输入流 ObjectInputStream ois = new ObjectInputStream(fis); //ois.readObject()读取Object对象 T tReaded = (T)ois.readObject(); //打印8,9,2.3,0 System.out.println(tReaded.i + " " + tReaded.j + " " + tReaded.d + " " + tReaded.k); } } /* 实现Serializable接口,没有重写Serializable接口中的方法,因为里面没有方法。 称作标记性接口,给编译器看,表示可以被序列化 java.io Interface Serializable */ class T implements Serializable { int i = 10; int j = 9; double d = 2.3; //transient关键字,在序列化时不予考虑,透明的。读出为默认值。 transient int k = 15; }
F:\java\io>javac TestObjectIO.java F:\java\io>java TestObjectIO 8 9 2.3 0 F:\java\io>