В Java может ли считыватель потока канала процесса встретиться с IOException?

У меня есть некоторый Java-код, который запускает другие процессы и читает их вывод, используя BufferedReaderпо телефону java.io.BufferedReader#readLine() в петле. Иногда я вижу это java.io.BufferedReader#readLine() бросает IOExceptionНапример, когда процесс неожиданно завершается (в моем случае это может произойти) и т. д.

Вопрос в том, как правильно обращаться с BufferedReader#readLine() бросание IOException: есть ли случай, когда чтение из потока снова может продолжить потреблять вывод процесса (предполагая, что это была какая-то временная ошибка), или делает IOException значит поток находится в состоянии сбоя и должен быть закрыт и закрыт?

Я предполагаю, что вся проблема сводится к одной вещи, если поток канала, сталкивающийся с ошибкой ввода-вывода, может позже восстановиться от него и продолжить чтение или нет. Мой интуитивный инстинкт подсказывает мне, что это зависит от базовой операционной системы / реализации JVM, но мне бы хотелось услышать мнения людей, лучше разбирающихся в этой теме, чем я.

0 ответов

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