本帖最后由 敷衍ゝ微笑掩盖 于 2014-7-1 08:34 编辑
------- <a target="blank">android培训</a>、<a target="blank">java培训</a>、期待与您交流! ----------
可以存取对象的流
ObjectInputStream ObjectOutputStream
写入代码:
Person p = new Person(“lisi”,32);
ObjectOutputStream oos= new ObjecOutputStream(new FileOutputStream(“文件”));
oos.writeObject(p)
读出代码:
ObjectInputStream ois= new ObjectInputStream(new FileInputStream(“文件”));
Person p = (Person)ois.readObject();
注意:
① Person类要实现序列化接口。在对对象时,要抛出或者捕获ClassNotFoundException- 找不到序列化对象的类。
② 静态变量不能被序列化。
③ 可以用transirent修饰一个是静态的属性变量,使这个变量也不能被实例化。
④ 可以用这个 ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;显示声明可序列化对象的Uid,即使该类里的东西变了,Uid也不会变,默认是会变化的。如:
Class Person implement Serializable {
ANY-ACCESS-MODIFIER static final long serialVersionUID = 42L;
String name;
Transirent Int age;//用transirent修饰后,跟下面的addr类似了。
Static String addr=china;//创建对象时,给该属性设置的值,通过对象操作流操作后,读出来不是实例化的值。因为静态变量不能被序列化。
Public Person(String name, int age, String addr){
This.name=name;
This.age=age;
This.addr=addr;
}
Public void toString(){
打印
}
} |
|