Как напечатать строки текстового файла, введенного ранее в программе - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть назначение из-за создания программы, которая позволяет пользователю вводить 5 строк, сохраняет их в текстовый файл, а затем выводит строки текстового файла, но после ввода строк программа просто печатает «ноль».

import java.io.*;
import java.util.*;

public class WriteLines
{
  public static void main(String[] args) throws IOException
  {
    String k;
    String fileName = "Input.txt";
    String aLine;

    Scanner sc = new Scanner(System.in);
    FileWriter fw = new FileWriter("Input.txt");
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter pw = new PrintWriter(bw);

    for(int i=0; i<5;i++)
    {
        System.out.println("Enter a String of text: ");
        k=sc.nextLine();
        pw.println(k);
    }
    pw.close();

    FileReader fr = new FileReader(fileName);
    BufferedReader bl = new BufferedReader(fr);

    while((aLine = bl.readLine()) !=null);
    {
        System.out.println(aLine);
    }

    bl.close();
  }
}

1 Ответ

0 голосов
/ 15 декабря 2018

Посмотрите на ваш while цикл, в конце вы можете увидеть ;, что означает что-то вроде этого:

while ((aLine = bl.readLine()) != null) {
    ;
}
{
    System.out.println(aLine);
}

Цикл работает до aLine == null, поэтому печать aLine после завершения цикла печатается null.Удаление этого символа ; заставит ваш код работать.

...