这是一段简单的代码:
import java.io.*;
public class Read {
public static void main(String[] args) {
BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
while(true)
{
String x = null;
try{
x = f.readLine();
}
catch (IOException e) {e.printStackTrace();}
System.out.println(x);
}
}
}
我用以下命令运行程序:java Read < input.txt
一旦 input.txt 文件被完全输入到程序中,变量 x 就会不断地得到无限个 null。为什么会这样?有没有办法让标准输入(命令行)在文件传输到代码后保持活动状态? 我尝试过关闭流并重新打开,但没有效果。重置等也试了。