我今天正在努力处理我的部分代码,以从文件中读取一些数据并将它们作为其属性添加到对象中(我知道如何在文件中添加/读取对象而不会有这种麻烦,但我想这样做)如下:
文件是这样的:
111,john,23.1
222,jack,22.5
234,adam,12.8
我试图使用以下方法读取此文件:
public ArrayList<Staff> LoadAllStaffs(){
ArrayList<Staff> staffs = new ArrayList<Staff>();
File file = new File(stafffile);
Staff tmpstaff = new Staff();
try {
BufferedReader inputfile = new BufferedReader(new FileReader(stafffile));
String tmp;
while((tmp = inputfile.readLine()) != null){
StringTokenizer st = new StringTokenizer(tmp , ",");
tmpstaff.setID(Integer.valueOf(st.nextToken()));
tmpstaff.setFirstName(st.nextToken());
tmpstaff.setSalary(Double.valueOf(st.nextToken()));
staffs.add(tmpstaff);
}
}
catch (IOException e) {
}
return staffs;
}
使用println
返回的输出ArrayList
:
234,adam,12.8
234,adam,12.8
234,adam,12.8
我只是移动了Staff tmpstaff = new Staff();
while循环内部,它显示了它应该做什么。
为什么会这样?我读到——即使在这里——在循环内部或外部定义变量(嗯,这里是一个 Object )没有任何区别。