【发布时间】:2013-08-18 09:46:34
【问题描述】:
我创建了一个带有 3 个按钮和 1 个文本字段供用户输入的小程序。程序所做的是,它从用户那里获取输入并将其存储到一个数组列表中,然后当第二个按钮被按下时,它应该将数组列表写入文件。当第三个按钮被按下时,它应该从文件中读入一个数组列表。
我的问题是只得到第一条记录,这意味着如果我输入 2 个名字,当我按下第三个按钮时,我只会显示第一个名字。 这是我所做的:
2 个数组列表被贴花。
ArrayList<Person>list=new ArrayList<Person>() ArrayList<Person>list2=new ArrayList<Person>();
按下时接受用户输入的按钮
String firstname=txtname.getText();
Person p1=new Person(firstname,"pamodya","15","08","1995");
list.add(p1);
将第一个 arraylist 对象写入文件的按钮。 试试{
FileOutputStream write=new FileOutputStream("hello.txt");
ObjectOutputStream writeFile=new ObjectOutputStream(write);
writeFile.writeObject(list);
writeFile.flush();
writeFile.close();
}catch(Exception e){e.getMessage();}
从文件中读取并在按下时打印到文本区域的按钮。
try{
FileInputStream read=new FileInputStream("hello.txt");
ObjectInputStream readFile=new ObjectInputStream(read);
Person p1=(Person)readFile.readObject();
list2.add(p1);
readFile.close();
txtarea.setText(p1.getName());
}catch(Exception e){e.getMessage();}
这里似乎有什么问题? 感谢您的宝贵时间。
编辑:
这是错误
【问题讨论】:
标签: java serialization arraylist outputstream file-handling