我在使用BufferedReader方面遇到了问题
我想打印一个文本文件的6行:
public class Reader {
public static void main(String[]args) throws IOException{
FileReader in = new FileReader("C:/test.txt");
BufferedReader br = new BufferedReader(in);
while (br.readLine() != null) {
System.out.println(br.readLine());
}
in.close();
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我调用readLine()方法时,我都可以收集它,它会自动前进到下一行.
所以我不能使用条件br.readLine()!= null因为它已经将它推进了一行并获得了输出:
Line 2
Line 4
Line 6
Run Code Online (Sandbox Code Playgroud)
我使用什么条件来检查文本字段中是否还有新行.
提前致谢!
Jon*_*eet 71
这就是问题:
while (br.readLine() != null) {
System.out.println(br.readLine());
}
Run Code Online (Sandbox Code Playgroud)
你有两个呼叫readLine-第一只检查是否存在一条线(但读它它扔了出去),第二读取下一行.你要:
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
Run Code Online (Sandbox Code Playgroud)
现在我们只对每个循环迭代调用readLine() 一次,并使用我们已经读过的"我们已经完成了吗?"的行.和"打印线"部分.
您line 通过while循环阅读并通过循环阅读下一行,因此只需在while循环中阅读
String s;
while ((s=br.readLine()) != null) {
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
154911 次 |
| 最近记录: |