我在使用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
-第一个仅检查是否有一行(但将其读取并扔掉),第二个则读取下一行。你要:
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
现在readLine()
,每个循环迭代只调用一次,并且使用我们都读过的那行作为“我们完成了吗?” 和“打印出线”部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句