我在使用 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();
}
现在,每次调用 readLine() 方法时,我都会收集到它会自动前进到下一行的信息。
所以我不能使用条件 br.readLine() != null 因为它已经将其前进一行并且我得到输出:
Line 2
Line 4
Line 6
我应该使用什么条件来检查文本字段中是否仍有新行?
这就是问题:
while (br.readLine() != null) {
System.out.println(br.readLine());
}
您接到两个电话readLine
- 首先only检查是否有一行(但读取它并将其丢弃),第二个读取next线。你要:
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
现在我们只需要调用readLine()
once每个循环迭代,并使用我们已经读过的行来表示“我们完成了吗?”和“打印出行”部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)