Object Serialization and ObjectInputStream/ObjectOutputStream -Java 学习笔记 (27)
来源:互联网 发布:自我意识觉醒 知乎 编辑:程序博客网 时间:2024/05/16 16:00
和其他OO语言一样,Java可以把Object转换成数据流,存储在硬盘上,也可以把读出硬盘数据并转换成对象,这叫做Object Serialization(对象串行化)。
如果一个类要实现Serialization,则必须implements接口Serializable。
接口Serializable并没有定义方法。它只是一个标记接口,向编译器和JVM 说明此对象可以Serialized。
关键字transient声明的变量不参加串行化。
类ObjectInputStream和ObjectOutputStream封装了串行化数据的读写方法。
ObjectInputStream.readObject(); //从流中读取对象
ObjectOutputStream.writeObject(Object object); //向流中写入对象
import java.io.*;
class T implements Serializable ...{
int a = 0 ;
int b = 0 ;
transient int c = 10 ; //transient声明的变量不被串行化
}
public class ObjectSerialize ...{
public static void main(String[] args) throws Exception ...{
T t = new T() ;
t.a = 1 ;
t.b = 2 ;
t.c = 3 ;
FileOutputStream fos = new FileOutputStream("SerializedObject.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(t);
oos.flush();
oos.close();
FileInputStream fis = new FileInputStream("SerializedObject.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
T readedT = (T)ois.readObject();
System.out.println(readedT.a);
System.out.println(readedT.b);
System.out.println(readedT.c);
}
}
class T implements Serializable ...{
int a = 0 ;
int b = 0 ;
transient int c = 10 ; //transient声明的变量不被串行化
}
public class ObjectSerialize ...{
public static void main(String[] args) throws Exception ...{
T t = new T() ;
t.a = 1 ;
t.b = 2 ;
t.c = 3 ;
FileOutputStream fos = new FileOutputStream("SerializedObject.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(t);
oos.flush();
oos.close();
FileInputStream fis = new FileInputStream("SerializedObject.dat");
ObjectInputStream ois = new ObjectInputStream(fis);
T readedT = (T)ois.readObject();
System.out.println(readedT.a);
System.out.println(readedT.b);
System.out.println(readedT.c);
}
}
1
2
0
- Object Serialization and ObjectInputStream/ObjectOutputStream -Java 学习笔记 (27)
- ObjectInputStream and ObjectOutputStream
- Java IO - ObjectInputStream&ObjectOutputStream
- Java IO : ObjectInputStream、ObjectOutputStream
- Java ObjectInputStream 和 ObjectOutputStream
- JAVA高级视频_IO输入与输出 ObjectInputStream和ObjectOutputStream类 学习笔记
- java IO笔记(序列化与ObjectInputStream、ObjectOutputStream)
- JDK 1.7 java.io 源码学习之ObjectInputStream和ObjectOutputStream
- 22.Java IO: ObjectInputStream && ObjectOutputStream
- Java IO ObjectInputStream和ObjectOutputStream
- ObjectInputStream ObjectOutputStream
- ObjectInputStream ObjectOutputStream
- ObjectOutputStream/ObjectInputStream
- ObjectInputStream & ObjectOutputStream
- ObjectOutputStream/ObjectInputStream
- JAVA IO系列----ObjectInputStream和ObjectOutputStream类
- Java ObjectInputStream与ObjectOutputStream阻塞(block)问题
- java中的ObjectInputStream和ObjectOutputStream的讲解
- 哆啦A梦主题乐园,一定要去!
- 新来报到,随意写写!
- 在wince系统下访问物理地址
- 十种认知误区,哪种你没有
- Windows CE下驱动程序开发基础
- Object Serialization and ObjectInputStream/ObjectOutputStream -Java 学习笔记 (27)
- 十五个创业金匣子
- Windows CE下操作GPIO的方法
- 解决Windows 程序界面闪烁问题的一些经验
- 用Ubuntu Live CD修复Grub
- 在Red Hat Linux ES4 上安装Oracle 9.2.0.4
- 在Linux上升级Oracle9.2.0.4到9.2.0.7
- 【职业规划】了解自己~
- 美国朋友来中国