objectoutputstream循环读取对象 解决后必定加100分

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:57:07
比如我将多个对象存入到一个文件,如何用objectoutputstream循环读取对象,将全部对象取出来,可以的话,麻烦介绍一下对象在文件中的存储格式.解决后必定加100分
我想多次写对象到文件中去,但是,但是每次写的话他都会带一个文件头。导致只有第一个对象能够正确读出,所以希望能够给点 写对象到文件的代码。

//这类问题太简单了,不用写成XML,代码如下:
//序列化后写入文件的内容是二进制文件,这样更安全
//SerializebleTest.java
import java.io.*;
import java.util.ArrayList;
public class SerializebleTest {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
ArrayList<AAA> list = new ArrayList<AAA>();
//初始化对像,并将对象放入ArrayList容器中,保存成文件时,只要将ArrayList对象保存即可
for(int i=0; i<10; i++){
list.add(new AAA(i));
}

//打印未保存前数据:
System.out.println("保存前数据:");
for(AAA a:list)System.out.print(a+"\t");
System.out.println();
//对象保存的文件,可任意取名
String fname="c:/obj.test";
//保存到文件
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(fname));
oos.writeObject(list);//因为ArrayList类已经实现了序列化,所以可以直接可以写入到文件
oos.flush();
oos.close();

//读取文件中内容:
System.out.println("从文件读出来的数据:&quo