我有一个作业要创建一个程序,该程序允许用户输入5个字符串,将它们保存到文本文件中,然后输出文本文件的行,但是输入字符串后,程序仅打印“ null”。
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();
}
}
答案 0 :(得分:2)
看看您的while
循环,最后您会看到;
,其含义如下:
while ((aLine = bl.readLine()) != null) {
;
}
{
System.out.println(aLine);
}
循环运行到aLine == null
,因此循环结束后打印aLine
会打印null
。删除此;
字符将使您的代码正常工作。