2012-06-12 3 views
3

Простой вопрос: существует ли класс или интерфейс, который инкапсулирует получение Reader или InputStream?Класс/интерфейс для получения Reader/InputStream

То, что я хочу, чтобы иметь возможность, например, чтение из файла в два раза, или URL дважды, и encapulate/абстрагировать создание Ридера или InputStream как можно больше

+0

Чтение из файла дважды в порядке, пока файл не является гигабайтом. Чтение с URL-адреса дважды не выполняется, так как это подразумевает повторную выборку всех данных по сети. Возможно, вы должны сохранять данные локально и перерабатывать их там, или, может быть, вам следует искать сложнее однопроходной техники. – EJP

ответ

1

В guava, есть InputSupplier интерфейс, который, кажется, делает то, что вы ищете.

гуавы также имеет заводы, которые создают inputSuppliers, как Resources или Files класс - проверить newInputStreamSupplier методы в этих классах, чтобы увидеть, как это работает.

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