您的位置:首页 > 移动开发 > Objective-C

IO流之Object流

2014-11-03 22:44 232 查看
   Object流分为ObjectOutputStream和ObjectInputStream。这个流的作用是直接将一个对象转换为字节流,其实就是序列化。所读写的对象必须实现Serializable接口,对象中的transient和static类型的成员变量不会被读取和写入。如果我们在测试的时候,被static修饰的成员变量会被读取和写入,原因是:程序员执行时,都是在同一个机器或者同一个进程中进行的,jvm已经把变量加载进来了。

public class TestObjectIO {

public static void main(String[] args) {
try {
T t = new T();
t.k=8;
FileOutputStream fos = new FileOutputStream("d://data.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(t);
oos.flush();
oos.close();

FileInputStream fis = new FileInputStream("d://data.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
T tRead = (T) ois.readObject();
System.out.println(tRead.i+"=="+tRead.j+"==="+tRead.d+"=="+tRead.k);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

}

class T implements Serializable{
int i = 3;
int j = 5;
double d = 2.33;
transient int k = 10;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息