
java中怎么读出txt里面存的好多个对象
fis=newFileInputStream(f);ois=newObjectInputStream(fis);Objectobject=ois.readObject()...
fis = new FileInputStream(f);
ois = new ObjectInputStream(fis);
Object object = ois.readObject();这个方法只能读出txt文件里面的第一条数据 而不能得到所有的数据 应该循环去读 但是这个怎么读呢 请教各位大侠 展开
ois = new ObjectInputStream(fis);
Object object = ois.readObject();这个方法只能读出txt文件里面的第一条数据 而不能得到所有的数据 应该循环去读 但是这个怎么读呢 请教各位大侠 展开
3个回答
展开全部
ois.readObject(); 读取第一个数据,然后有个游标一样的东西自动指向下一个数据,
如果再调用ois.readObject();就读取第二个数据,游标一样的东西自动指向下一个数据
如此循环
所以你只要控制循环就可以了
例如
Object obj =ois.readObject(); //第一个数据
while(obj!=null){
obj = ois.readObject(); //循环下面的数据
}
希望对你有帮助
如果再调用ois.readObject();就读取第二个数据,游标一样的东西自动指向下一个数据
如此循环
所以你只要控制循环就可以了
例如
Object obj =ois.readObject(); //第一个数据
while(obj!=null){
obj = ois.readObject(); //循环下面的数据
}
希望对你有帮助
更多追问追答
追问
java.io.StreamCorruptedException: invalid type code: AC
obj=(Person) ois.readObject();
while(obj!=null){
obj = (Person) ois.readObject(); //循环下面的数据
list.add(obj);
}
Iterator it=list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
这么写有异常
追答
你是不是定义了多次objectOutputStream对象?
展开全部
不会吧,还真有这么神的?
至少最简单,你应该考虑使用一个 properties(.ini) 格式吧,或者一个xml格式吧.
再者,或者是纯粹serializable格式,
要不然就是json格式,
当然,还有ON格式.
不是读txt格式的对象,
问题应该这样:
有什么方法处理格式文本数据?
如果这样想,你现在的问题就不是你的问题了
至少最简单,你应该考虑使用一个 properties(.ini) 格式吧,或者一个xml格式吧.
再者,或者是纯粹serializable格式,
要不然就是json格式,
当然,还有ON格式.
不是读txt格式的对象,
问题应该这样:
有什么方法处理格式文本数据?
如果这样想,你现在的问题就不是你的问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在储存对象将对象放入数组对象或是集合对象中存起来
再读
再读
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询