2009-02-16 1 views
2

Добрый день,Легкая реализация java.io.InputStream, которая поддерживает знак() и сброса()

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

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

Я также пробовал искать в коммунальной io, но я не вижу их.

Спасибо, Franz

ответ

5

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

+0

Спасибо ... BufferInputStream действительно работает. Я думаю, моя проблема была в том, что я пытался буфер ServletInputStream, который я не могу, так как это #available() всегда возвращает 0 (и BufferInputStream полагается на это). –

5

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

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

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

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