这次我遇到了一个非常蹩脚的问题,它工作得很好,但现在不行了:
BufferedReader br = new BufferedReader(new InputStreamReader(
System.in));
while (br.readLine() != null) {
System.out.println(br.readLine());
}
输入文件:
1
2
3
4
5
6
7
8
9
在命令行中:$java myprogram < inputfile
上面写代码的结果是:
2
4
6
8
null
但预期的输出应该与输入文件相同!
我哪里错了?!
最佳答案
您不应该在每个循环中调用两次 readLine()
。
每次调用它时,它都会读取一个新行。打印每次调用的结果:
while (true) {
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
关于java - 在命令行中读取输入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1970141/