我正在尝试使用swing创建一个Contacts Book,我在使用文件中的数据填充文本字段时遇到了问题。
我有名字,姓氏,地址和电话号码(字符串)的方框,文本文件的结构如下:
Name
Surname
Address
Phone
Name
Surname
Address
Phone
...
我有一个ArrayList来保存联系人,当我使用contacts.add(String,String,String,String)而不是从文件中读取数据时,我成功地在TextFields中显示数据。
我试过这个从文件中读取,但它似乎不起作用。
尝试{
this.myFile = new File("contacts.txt");
this.scan = new Scanner(myFile);
while (scan.hasNext()) {
contact = new Contact(scan.next(), scan.next(), scan.next(), scan.next());
contacts.add(contact);
}
}
catch (InputMismatchException e) {
System.err.println("Invalid");
}
catch (FileNotFoundException e) {
System.err.println("Not found");
}
finally {
if (scan != null) {
scan.close();
}
else {
System.out.println("empty");
}
}
使用数据库会更容易/更好吗? 感谢
答案 0 :(得分:0)
您只检查下一行,但在第一行之后尝试读取下三行而不检查。
scan.next();// reads until next token
试试这个
scanner.nextLine();//read until the end of line.
您应该在每次扫描之前检查逻辑,并在4次扫描之间创建新的联系对象以存储信息。