Я очень новичок в программировании на Java, и это на самом деле часть проблемы, которую мне нужно решить для домашней работы: я читаю содержимое файла построчно в виде String в ArrayList для последующей обработки. Мне нужно, чтобы программа распечатывала содержимое консоли ArrayList на отдельных строках, но вывод после запуска скомпилированного файла печатает первую строку файла, затем печатает первую и вторую строки вместе на следующей строке, а затем печатает первая, вторая и третья строчки программы.
Мое понимание того, как это должно работать, заключается в том, что программа возьмет мой файл, FileReader и BufferedReader будут извлекать строки текста в файле в виде строк, которые затем помещаются в ArrayList с каждой строкой на разные позиция в ArrayList правильно? Может кто-нибудь сказать мне, где во время цикла я иду не так? Спасибо!
Код:
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