Обработка пустой строки в консоли в Java

Пишу кодер и декодер шифра Цезаря. Не могу найти информацию, как сделать так, чтобы человек, оставляя строчку пустой, просто нажимал Enter, и тогда создавался бы файл с определенным именем.
У меня консоль всегда требует ввода хоть чего-нибудь.

System.out.println("Введите ссылку на файл или имя файла, в который вы хотите записать зашифрованный текст");
String linkOut = input.next();

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

Автор решения: Nowhere Man

Метод Scanner::next игнорирует разделители и считывает непустой токен ДО первого разделителя, по умолчанию к разделителям относятся все пробельные символы, для которых Character::isWhitespace возвращает true, включая и перевод строки \n.

String nonEmptyString = input.next(); // ждёт непустого ввода без пробелов
System.out.println("'" + nonEmptyString + "'");

Если нужно разрешить ввод пустой строки, достаточно использовать метод Scanner::nextLine, который читает всю строку целиком, НЕ включая сам символ перевода строки в конце.
Такая строка может быть пустой или содержать только пробельные символы (разделители) за исключением перевода строки (см. System.lineSeparator).

System.out.println("Введите название файла или нажмите `Enter`, для названия по умолчанию myfile.txt");
String filename = input.nextLine().trim(); // ждёт ввода строки
System.out.println("'" + filename + "'");
if (filename.isEmpty()) {
    filename = "myfile.txt";
}
→ Ссылка