2010-11-21 6 views
1

Я хочу написать программу на Java с поддержкой unix-конвейера. Проблема в том, что мои входные файлы - это изображения, и мне нужно каким-то образом отделить их друг от друга.Отделить несколько изображений от stdin в Java

Я думал, что нет проблем, потому что я могу читать InputStream, используя ImageIO.read() без переустановки. Но это не так просто. ImageIO.read() закрывает поток каждый раз, когда изображение считывается. Поэтому я не могу прочитать больше одного файла из stdin. У вас есть какое-то решение для этого?

ответ

3

В API для read() упоминает, «Этот метод не закрыть после того, как предусмотрено InputStream операция чтения завершена, то ответственность вызывающего абонента, чтобы закрыть поток, если это необходимо.» Вы также можете проверить результат на null и убедиться, что имеется подходящий ImageReader.

Смежные вопросы