【问题标题】:Why is this bufferedReader returning nulls?为什么这个 bufferedReader 返回空值?
【发布时间】:2018-09-02 17:47:24
【问题描述】:

我正在尝试从文件中读取信息,但对于每一行它只返回一个 null

    String[] quotes = new String[numberOfLines];
    String myLine;
    for (int i = 0; i < numberOfLines; i++)
    {
        myLine = readFile.readLine();
        System.out.println(myLine);
        quotes[i] = myLine;
    }

文件中实际包含字符的行数中的numberOfLines

【问题讨论】:

  • 你能编辑你的完整程序和一个示例文件吗?
  • 你可以用 String[] quotes = Files.lines(path); 替换这个(以及计算行数的代码)。但是,您应该考虑采用流式处理方法,而不是构建大量行的数组。

标签: java arrays string bufferedreader ioexception


【解决方案1】:

BufferedReader.readLine 返回null 当且仅当您已阅读到文件/流的末尾:请参阅javadoc

因此,您已到达文件末尾。

因此问题出在代码中的其他地方:

  • readFile 如何被实例化/使用(例如,您打开了正确的文件吗?),或者
  • 如何获得numberOfLines 的值。

不幸的是,如果没有看到执行这些操作的代码,我们将无法走得更远。或者更好的是,一个 MCVE。

更新

一种可能性:用于计算行数的代码已通过readFile 读取文件,并将BufferedReader 留在文件末尾。

【讨论】:

    猜你喜欢
    • 2013-01-19
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    相关资源
    最近更新 更多