Я читаю несколько строк из консоли в Java-программе, используя команду readLine из класса BufferedReader. Однако программа останавливается в конце последней строки и не работает до тех пор, пока я не вернусь. Как устранить эту паузу?Удаление паузы после чтения с использованием readLine в java
ответ
Что именно вы делаете и чего вы ожидаете? У меня есть две догадки:
- У вас есть лишний
readLine()
в конце программы. Удалите его или измените условия цикла, чтобы решить эту проблему. - Вы ожидаете, что программа начнет работу над строкой, которая вводится (без удара Return в конце). Вот где ваши ожидания ошибочны.
readLine()
возвращает полную строку и блокирует во время ее ввода. Таким образом, вызов просто ждет, пока вы не нажмете Return, а затем вернете только что введенную строку. Для ввода ввода во время ввода пользователем ниBufferedReader
, ниreadLine()
очень подходят.
только что проверил условия цикла, ни лишнего ReadLine() ... – Pranav
Это отлично работает, хотя - общественный класс Кнопки { государственной статической силы основных (String [] арг) броски java.lang.Exception { java.io. BufferedReader r = новый java.io.BufferedReader (новый java.io.InputStreamReader (System.in)); String s; while (! (S = r.readLine()). StartsWith ("42")) System.out.println (s); } } – Pranav
Не могли бы вы поместить код, который у вас есть, в свой вопрос при правильном форматировании? Было бы гораздо легче читать. – Joey
Это уловка-22; вы не можете знаете Это последняя строка, пока она не была полностью введена (включая возврат каретки в конце), и вы можете ее проанализировать. Значит, вы только знаете, что вы могли пропустить ожидание, как только вы уже пропустили свой шанс.
Это предполагает, что вы обнаруживаете последнюю строку на основе ее содержимого (например, пустую строку, конкретную строку «42» и т. Д.). Если у вас есть другие способы определения последней строки, вы можете использовать это как условие цикла while, поэтому вам не нужно ждать, чтобы прочитать строку «дозорный», которая просто говорит вам о выходе.
Но в приведенном вами примере кода вы можете получить доступ к строке «42» после того, как она была полностью введена, включая некоторые терминаторы линий (возврат каретки, EOF и т. Д.). Таким образом, пока вы не нажмете return, эта строка не существует с точки зрения читателя.
A строка - это последовательность символов, обозначающая CR или CRLF. И readline() просто делает то, что говорит это имя: он читает строку .
Если у вас есть какая-либо другая подсказка для определения «конца ввода», вы можете прочитать входной символ символом, пока условие «конец ввода» не будет истинным. Это может быть другой символ или специальная последовательность символов, таких как закрывающий тег, если вы посмотрите на вход xml.
- 1. Ограничение количества чтения с использованием readline
- 2. Чтения неизвестных линий с ReadLine
- 3. Удаление файла после чтения с помощью SSIS
- 4. Как установить смещение с readline в java?
- 5. Java + readLine с BufferedReader
- 6. Повторить код Java после определенной паузы
- 7. Возобновленная анимация медленная после паузы с использованием stop()
- 8. Java не может возобновить нить после паузы
- 9. C# Удаление вкладок из ввода Readline
- 10. удаление паузы при использовании слова2vec
- 11. Java-клиент-метод readLine()
- 12. Метод ReadLine в Java
- 13. Удаление последовательности чисел от Readline с Regex
- 14. Удаление файлов с использованием java
- 15. Производительность Java readline() отличается от последующих тестов
- 16. java, readline с консоли плагина
- 17. Media Player с использованием класса AudioTrack не возобновляется после паузы()
- 18. Java - чтение файла как двоичного с readLine
- 19. Ребенок не продолжает работать после приема сигнала с использованием паузы()
- 20. GNU эквивалент Readline для Java
- 21. Удаление узла с использованием метода в Java
- 22. Удаление сообщений после их чтения из файла
- 23. SerialPort ReadLine() после Thread.Sleep() сходит с ума
- 24. Java Readline пробельных
- 25. readLine для чтения нескольких строк без цикла?
- 26. java bufferedreader, декларация readline
- 27. диалог с ошибкой чтения в java
- 28. Java-эквивалент пакетной паузы?
- 29. процесс чтения readline перед его предоставлением
- 30. Используйте readline для чтения txt-файла python3
И когда именно компьютер определяет, когда пользователь ввел строку? Я имею в виду, если вы устраните возврат, что заставляет компьютер двигаться дальше после того, как был написан 1 символ? – Bobby