posts - 6,  comments - 8,  trackbacks - 0

     对象流(对象序列化与反序列化)
       ObjectOutputStream和ObjectInputStream  序列化:把对象写到一个输入流中;反序列化:从一个输入流中读取一个对象。Serializable序列化接口没有方法或字段,仅用于标识可序列化的语义。
     序列化步骤:
1.创建一个对象输出流,,该输出流可以包装其他类型输出流
2.通过这个类的writeObject()来写对象

    反序列化:
1.创建一个对象输入流,它可以包装其它类型的输入流
2.通过该对象输入流的readObject()方法来读取对象
     要序列化的对象要实现Serializable这个接口       要注意读取的顺序
     每个对象的hashcode是唯一的,也就是说内存地址是唯一,直到被销毁。
在String“= =”比较的是地址,equals()比较的是内容,在Object中,“==”比较的是地址,equals()比较的是地址(如果不重写此方法),重写后可比较内容

  下面是部分可用代码:
 1//存储数据,序列化对象数组
 2    public void ser(Object obj[]) throws Exception{
 3        OutputStream ops=new FileOutputStream("D:\\test\\objcetFile.txt");
 4        ObjectOutputStream out=new ObjectOutputStream(ops);
 5        
 6        out.writeObject(obj);
 7        out.close();
 8    }

 9    
10    //读取数据,反序列化对象数组
11    public Object[] dser() throws Exception{
12        
13
14        InputStream ins=new FileInputStream("D:\\test\\objcetFile.txt");
15        ObjectInputStream ois=new ObjectInputStream(ins);
16        
17        Object[] obj=(Object[])ois.readObject();
18        ois.close();
19            
20        return obj;
21
22    }
该代码中存储的是对象数组
posted on 2010-03-18 20:47 张贝贝 阅读(1297) 评论(1)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: