Облегченная реализация java.io.InputStream, которая поддерживает mark () и reset () - PullRequest
2 голосов
/ 16 февраля 2009

Добрый день,

В настоящее время мы используем ByteArrayInputStream для нашего сбрасываемого InputStream. Моя проблема в том, что он потребляет много памяти (он загружает все байты, которые он представляет в памяти, в отличие от некоторых других реализаций InputStream).

Мой вопрос: есть ли более легкая реализация InputStream, которая поддерживает mark () и read ()?

Я тоже пытался искать в commons-io, но ничего не вижу.

Спасибо, Franz

Ответы [ 2 ]

5 голосов
/ 10 декабря 2009

Я чаще всего использую PushbackInputStream при анализе данных, и мне нужно вернуться назад и перечитать данные. Вот объяснение:

http://tutorials.jenkov.com/java-io/pushbackinputstream.html

Существует также PushbackReader, если вам нужен поток на основе символов.

5 голосов
/ 16 февраля 2009

Будет ли у вас работать BufferedInputStream? Не зная, откуда исходные данные (например, почему у вас есть ByteArrayInputStream), для начала довольно сложно ответить на ваш вопрос.

...