【发布时间】:2012-02-04 23:27:48
【问题描述】:
我对 Java 编程非常陌生,这实际上是我需要解决的家庭作业问题的一部分:我正在将文件的内容作为字符串逐行读取到 ArrayList 中以供以后处理。我需要程序打印出来以在单独的行上控制台 ArrayList 的内容,但是运行编译文件后的输出打印文件的第一行,然后在下一行打印第一行和第二行,然后打印程序的第一行、第二行和第三行。
我对它应该如何工作的理解是程序将获取我的文件,FileReader 和 BufferedReader 将文件中的文本行作为字符串抓取,然后将它们放置在 ArrayList 中,每个字符串位于不同的位置在 ArrayList 中的位置对吗?有人可以告诉我在while循环中哪里出错了吗?谢谢!
代码:
public class ArrayListDemo
{
public static void main (String[]args)
{
try
{
ArrayList<String> demo= new ArrayList <String>();
FileReader fr= new FileReader("hi.tpl");
BufferedReader reader= new BufferedReader(fr);
String line;
while ((line=reader.readLine()) !=null)
{
//Add to ArrayList
demo.add(line);
System.out.println(demo);
}
reader.close();
}catch (Exception e)
{
System.out.println("Error: "+e.getMessage());
System.exit(0);
}
}
}
得到的输出:
cat
cat, rat
cat, rat, hat
预期输出:
cat
rat
hat
【问题讨论】: