java对象存入txt文件,能够读出来,追加对象到txt中, 将对象存入list中,连续追加两次,追加的内容再后面

非常急!!!在线等!!满意的话,追加20谢谢... 非常急!!!在线等!!满意的话,追加20 谢谢 展开
 我来答
568145421
2012-03-07 · 知道合伙人软件行家
568145421
知道合伙人软件行家
采纳数:1353 获赞数:6756

向TA提问 私信TA
展开全部
你好,我给你提供思路,实现很容易,我相信你应该明白。
将对象写入文件,明显是对象序列化的内容,让某个对象实现serilizable接口就可以了。
追加写,就是在构建文件流的时候,多传入一个参数,设置为true,否则默认是覆盖写的。
将对象保存到List集合中,这不需要说吧。
还有你的问题表述的不是很清楚,最后一句没有看懂。
追问
就是把对象存入文件,能读出来,追加不覆盖,还有得用什么链表,追加内容,明白吗
有源码吗?非常感谢
追答
还是我帮你写下吧,代码如下:
import java.io.* ;
import java.util.* ;

class Person implements Serializable{
private static final long serialVersionUID = 1L;
private transient String name ;
private int age ;
public Person(){}
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "姓名:"+name+";年龄:"+age ;
}
}
public class BaiDuDemo01 {
public static void main(String[] args) throws Exception{
String path = "d:"+File.separator+"test.txt" ; //文件的存储路径
Person p1 = new Person("人员1",23) ;
//1.把 p1写入文件,你自己在d盘下创建一个test文件
write(path, p1) ;
//2.把 p1读出来
Person p = (Person) read(path) ;
System.out.println("读到的对象为:" + p) ;
Person p2 = new Person("测试2",33) ;
//3.将p2追加到txt中
write(path, p2) ;
//4.将对象存入list中
List list = new ArrayList() ;
list.add(p1) ;
list.add(p2) ;
//5.追加的内容再后面 --->这句我不理解你啥意思
//如果还需要继续将txt写入对象,那么继续调用write方法就可以了。
}

public static void write(String path,Object obj)throws Exception{
File f = new File(path) ;
OutputStream out = new FileOutputStream(f,true) ;
ObjectOutputStream oos = new ObjectOutputStream(out) ;
oos.writeObject(obj) ;
oos.close() ;
System.out.println("-----写入成功....");
}

public static Object read(String path) throws Exception{
File f = new File(path) ;
InputStream in = new FileInputStream(f) ;
ObjectInputStream ois = new ObjectInputStream(in) ;
Object obj = ois.readObject();
ois.close();
return obj ;
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式