JAVA中判断一个对象存在

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:23:34
我将几个字符串对象写进了一个DAT文件中,现在想用FOR循环逐个读出来,FOR(INT I=1;???;I++),问号的地方该咋写?如果写个I<2的话居然一个都读不出来。。郁闷。我用的是readObject(),帮帮忙,谢谢!

你的意思是反序列化。
但是你的循环都写错了.读流
文件中有多少个对象在一定情况下你是不能预知的。
写个判断。用while循环
ArrayList list = new ArrayList();
while(true){
if(read.readObject()!=null){
//判断对象不为空
list.add(read.readObject());
}else{
//为空结束循环
break;
}
}
注:read是:ObjectOutputStream的实列

//我也来凑个热闹,建议将数据封装在一个对象中
//这个例子是将一些数据封装在Person对象中
//:SerializableTest.java

import java.io.*;
import java.util.ArrayList;
public class SerializableTest {
public static void main(String[] args) throws Exception{
//保存对象的文件,这个要根据自己需要重新调整的,我这个是在Linux下的目录结构
File f = new File("/home/lsx/person.dat");
//创建一个集合类,用于存放person对象
ArrayList ps = new ArrayList();
//将10个person对象放入到集合中
for(int i=0; i<10; i++)
ps.add(new Person("person"+i,i));

//因为ArrayList类已实现了序列化,所以可以将ArrayList对ps存入文件
//也就是说,现在保存的是一个集合,里边的内容是Person对象
IO.save(ps, f)