【发布时间】:2013-04-24 18:42:20
【问题描述】:
我正在我的 UserArchive 类并从我的 User 类添加用户对象:
public class UserArchive implements Serializable {
ArrayList<User> list = new ArrayList<User>();
// Inserts a new User-object
public void regCustomer(User u) {
list.add(u);
}
阅读和编写此列表的最佳方式是什么?
我觉得这样写是对的吗?
public void writeFile() {
File fileName = new File("testList.txt");
try{
FileWriter fw = new FileWriter(fileName);
Writer output = new BufferedWriter(fw);
int sz = list.size();
for(int i = 0; i < sz; i++){
output.write(list.get(i).toString() +"\n");
}
output.close();
} catch(Exception e){
JOptionPane.showMessageDialog(null, "Kan ikke lage denne filen");
}
我尝试使用 BufferedReader 读取文件,但无法让 list.add(line) 工作:
public void readFile() {
String fileName = "testList.txt";
String line;
try{
BufferedReader input = new BufferedReader(new FileReader(fileName));
if(!input.ready()){
throw new IOException();
}
while((line = input.readLine()) != null){
list.add(line);
}
input.close();
} catch(IOException e){
System.out.println(e);
}
}
我知道问题在于该行是一个字符串,并且应该是一个用户。是我不能使用 BufferedReader 来做到这一点的问题吗?如果是这样,我应该如何读取文件?
【问题讨论】:
-
阅读this 文章。
-
否则,执行
public static User parse(String line) {} -
"I can't get it to work",您的意思是
list.add(line)不起作用,还是您还有其他问题?跨度> -
是的,我的意思是,对不起,谢谢
-
如果输入流没有准备好,不要抛出异常。只需阅读它!读取将阻塞,直到流准备好。
标签: java arraylist bufferedreader filewriter