IO之装饰类ObjectInputStream 、ObjectOutputStream

来源:互联网 发布:淘宝收入排行榜2015 编辑:程序博客网 时间:2024/06/06 02:33

特点:

将对象写入文件中。

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import cn.itcast.io.p2.bean.Person;public class ObjectStreamDemo {/** * @param args * @throws IOException  * @throws ClassNotFoundException  */public static void main(String[] args) throws IOException, ClassNotFoundException {//writeObj();readObj();}public static void readObj() throws IOException, ClassNotFoundException {ObjectInputStream ois = new ObjectInputStream(new FileInputStream("obj.object"));//对象的反序列化。 Person p = (Person)ois.readObject();System.out.println(p.getName()+":"+p.getAge());ois.close();}public static void writeObj() throws IOException, IOException {ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("obj.object"));//对象序列化。  被序列化的对象必须实现Serializable接口。 oos.writeObject(new Person("小强",30));oos.close();}}

import java.io.Serializable;/* * Serializable:用于给被序列化的类加入ID号。 * 用于判断类和对象是否是同一个版本。  */public class Person implements Serializable/*标记接口*/ {/** * transient:非静态数据不想被序列化可以使用这个关键字修饰。  */private static final long serialVersionUID = 9527l;private transient String name;private static int age;public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}





ObjectInputStream 和 ObjectOutputStream

对象的序列化和反序列化。

writeObject  readObject

Serializable标记接口

关键字:transient

0 0
原创粉丝点击