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>