Java filereader bufferedreader打印出一定数量的行

标签 java bufferedreader filereader

我正在尝试在 java 中使用文件阅读器和缓冲阅读器从 txt 文件中打印一定数量的行。该文件有超过 100000 行,但我只想打印前 100 行。

我想出的代码是这样的:

public class main {
    public static void main(String args[]) throws Exception {
        FileReader fr = new FileReader("words.txt");
        BufferedReader br = new BufferedReader(fr);
        String s;

        int count = 0;

        while (count <101)
            {
            while((s = br.readLine()) != null)

            {
            System.out.println(s);
            count++;
            System.out.println(count);
            }

        }
        fr.close();
        } 

}

它打印出这样的东西:

it

1

was

2

a

3

sunny

4

day

...

等等(正在打印的整数只是为了让我可以看到计数器在递增)。问题是,它一直走到文件末尾,而不是在第 100 行文本后停止。我的问题是,如何在第 100 行后停止打印?

提前致谢。

最佳答案

你需要结合你的while条件

while (count < 100 && (s = br.readLine()) != null) { ...

(编辑:正如 johnbk 提到的那样,计数检查应该是 < 100 )

关于Java filereader bufferedreader打印出一定数量的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3936304/

相关文章:

java - 以下声明数组的方式是什么意思?

java - 从 html 页面中提取源代码

java - BufferedReader 仅读取多行文件中的一行

java - 如何从波形文件中获取音频数据?

java - 在 BufferedReader 之后使用 DataInputStream

java - 如何从文本文件中连续读取数据 - Java

java - 识别文件中的每个单词

Java BufferedReader FileReader问题

java - java (NetBeans) 中表情符号的支持?

java - 将可调用对象发送到将保存 future 数据的 hazelcast 节点