【发布时间】:2019-06-09 10:57:09
【问题描述】:
我正在从文本文件中读取数据,然后将每一行存储在一个类中,然后将每个类存储在一个 ArrayList 中。
例如,在我从文本文件中读取每一行之后,我将值存储在一个类中。
例如:
while((line = reader.readLine()) != null){
line1 = line;
line2 = reader.readLine();
line3 = reader.readLine();
line4 = reader.readLine();
line5 = reader.readLine();
line6 = reader.readLine();
line7 = reader.readLine();
Person tempPerson = new Person(line1, line2, line3, line4, line5, line6, line7);
person_list.add(tempPerson);
但是当我得到第 6 行的值时:
Person tempPerson = person_list.get(0);
out.print(tempPerson.getLine6());
输出的值与line7合并,例如'line7line6'。
除了我要求获取第 7 行之外,所有其他行都运行良好。
即使我尝试从另一个“人”那里获取详细信息,同样的问题也会出现在同一个地方。
我尝试了新的文件阅读器,但这并没有帮助,而且在检查调试器时,值被正确存储在类中。
因此,我没有使用 ArrayList,而是尝试将它们存储在 Array 中,但这似乎也没有帮助。
我一直在查看我的 getter 和 setter 是否存在问题,但我似乎找不到问题。
【问题讨论】:
-
您是静态导入
System并以这种方式使用out.print吗?如果你想在单独的行上打印每个值,你想使用println。 -
所以当您查看 tempPerson 中的调试时,所有字符串对象都有正确的值??
-
@Mark 'out' 是与'System.out' 不同的类,它在JSP 页面上显示输出。我也把它改成了'println',没有区别。
-
@ygbgames 是的,这是正确的
-
在这种情况下,如果您已经覆盖了 person 的 toString 方法并且当您在控制台上打印它时。那就是打印所有的行,因为它们是红色的吗??
标签: java class arraylist text-files