import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class TestSerializable {
/**
* @param args
* @throws IOException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws IOException,
ClassNotFoundException {
// TODO Auto-generated method stub
T t = new T();
t.k = 8;
FileOutputStream foStream = new FileOutputStream("D:\\ser.txt");
ObjectOutputStream ooStream = new ObjectOutputStream(foStream);
ooStream.writeObject(t);
ooStream.flush();
ooStream.close();
FileInputStream fiStream = new FileInputStream("D:\\ser.txt");
ObjectInputStream ois = new ObjectInputStream(fiStream);
T tRead = (T) ois.readObject();
/*
* 如果没有实现Serializable,则不能这样直接读
*/
System.out.println(tRead.i + " " + tRead.j + " " + tRead.d + " "
+ tRead.k);// 打印结果:10 9 2.3 8 没有transient
System.out.println(tRead.i + " " + tRead.j + " " + tRead.d + " "
+ tRead.k);// 打印结果: 10 0 2.3 8 有transient
}
}
/*
* 直接存入整个Object转换成字节流,写到硬盘 Serializable是标记接口,无方法
*/
class T implements Serializable {
int i = 10;
transient int j = 9;
double d = 2.3;
int k = 15;
}
Serializable实例
最新推荐文章于 2020-06-20 11:34:59 发布