当前位置: 首页 > 面试题库 >

使用BufferedReader读取文本文件

石喜
2023-03-14
问题内容

我在使用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() 每个循环迭代只调用 一次 ,并且使用我们都读过的那行作为“我们完成了吗?” 和“打印出线”部分。



 类似资料:
  • 我想打印一个文本文件的6行: 现在,根据我每次调用readLine()方法时所收集到的信息,它会自动前进到下一行。 所以我不能使用条件br.readline()!=null,因为它已经提前了一行,我得到的输出是: 我使用什么条件来检查文本字段中是否还有新行。 提前道谢!

  • 我对java比较陌生,对如何使用缓冲读取器读取文件很好奇。这是因为我正在上一门课,被分配做一个简单的ceaser密码,我应该解密一个文本文件,创建一个新文件,并将解密的文本放入该文件。我可以用扫描仪和一个10KB的小文件来完成,但是当我要测试的100MB的大文本文件的时候,它是非常慢的。这是我的代码,它应该是读取文件内容。 如果有人能给我指明正确的方向,那就太好了。 提前致谢

  • 我想使用一个BufferedReader对象从两个或多个文件中读取文本。

  • 我想在java8中读取文本文件,我得到错误“类型不匹配:无法从FileReader转换到Reader”。如果我将Reader类更改为FileReader,则会出现错误“构造函数BufferedReader(FileReader)未定义”,我的语句是 请建议

  • 我有一个名为“add”的方法,它将字符串作为参数,并使用bufferedwriter将其写入文件。完成此操作后,bufferedwriter将被刷新。 在另一个方法“read”中,我遍历文件中的行,但这些行是空的(因此我不能打印它们)。

  • 我使用以下两段代码来读取一个大文件。 这使用: 对我错过的东西的想法?即使使用了'read()'方法,BufferedReader也应该比从FileReader读取更好的性能吗?