Почему этот bufferedReader возвращает нули?

Я пытаюсь прочитать информацию из файла, но для каждой строки он просто возвращает нуль

    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 - количество строк, на которых фактически есть символы в файле.

Можете ли вы отредактировать свою полную программу и образец файла?

Janez Kuhar 24.03.2018 01:31

Вы можете заменить это (и код для вычисления количества строк) на String [] quotes = Files.lines (path); однако вам следует подумать о потоковом подходе, а не создавать массив из большого количества строк.

eckes 24.03.2018 01:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
43
1

Ответы 1

BufferedReader.readLine возвращает nullесли и только если, который вы прочитали до конца файла / потока: см. javadoc.

Таким образом, вы достигли конца файла.

Следовательно, проблема в другом месте вашего кода:

  • как создается / используется readFile (например, вы открыли правильный файл?) или
  • как вы получаете значение для numberOfLines.

К сожалению, мы не можем пойти дальше, не увидев кода, который выполняет эти функции. Или, еще лучше, MCVE.

ОБНОВИТЬ

Одна возможность: код, который вы используете для подсчета строк, прочитал файл через readFile и оставил BufferedReader в конце файла.

Другие вопросы по теме