Завершение ввода в консоль Intellij Idea

Есть код ввода данных через консоль:

try (BufferedReader bufferedReader =
             new BufferedReader(new InputStreamReader(System.in))) {
      String line;
      while ((line = bufferedReader.readLine()) != null) {

Как мне завершить ввод через консоль, если при нажатии Enter IDEA распознает это не как null? Как ввести этот самый null? При считывании через файл работает все как надо.


Ответы (1 шт):

Автор решения: Podushkoved

Метод readLine возвращает введенную строку за исключением символов перевода строки, либо null при достижении конца потока, т. е. в данном случае при нажатии на Enter возвращает пустую строку. Ваш код можно переписать так:

try (BufferedReader bufferedReader =
             new BufferedReader(new InputStreamReader(System.in))) {
    String line = bufferedReader.readLine();
    while (line != null && !line.isBlank()) {
        System.out.println(line);
        line = bufferedReader.readLine();
    }
} catch (IOException e) {
    e.printStackTrace();
}
→ Ссылка