|
|
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Вечер ... затуп .... ArrayList<InputStream> Подскажите, пожалуйста, по сабжу. Есть некий <InputStream> в него считывается файл/ресурс, который включен в jar. Код: java 1. Делаю проверку, что все Ок считалось(использую util от apache для удобства): Код: java 1. 2. Всё Ок. Далее помещаю в ArrayList: Код: java 1. 2. Пытаюсь получить обратно: Код: java 1. Вывод: пусто. Код: java 1. Вывод: Код: plaintext Как правильно помещать/доставать <InputStream> в ArrayList<InputStream>? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 22:52 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
InputStream в общем случае одноразовый, его нельзя два раза прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 23:34 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Не понял. Что значит одноразовый? Я его считал и хочу его поместить в массив, чтобы потом его оттуда считать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2018, 23:56 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
BspleskНе понял. Что значит одноразовый? Я его считал и хочу его поместить в массив, чтобы потом его оттуда считать. У тебя - немотивированные действия. Зачем ты считал объект st в строку result? Что будешь делать дальше со строкой result? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:04 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Если (любым способом) прочесть поток ввода, то любые последующие чтения вернут E(nd)O(f)I(nput) / IllegallState / нечто похоже. Даже если поток ввода допускает позиционирование (RandomAccessFile, например), повторное чтение требует переустановки позиции чтения.
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:06 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Пасиб, внятно. "Возможность (пере)позиционирования указателей чтения/записи - скорее исключение, чем правило." Нет ссылочки под рукой почитать? хотя маловероятно, что понадобится, мне и байтового массива хватит в качестве "слепка" исходного файла. Случай пере)позиционирования = обращение к файловой системе или всё сложней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:32 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Зачем: Код: java 1. 2. http://www.eclipse.org/eclipselink/api/2.6/org/eclipse/persistence/jaxb/dynamic/DynamicJAXBContextFactory.html Перед тем как вызвать указанное выше, необходимо содержимое java.io.InputStream schemaStream залогировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:39 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Java Runtime (среда исполнения) позволяет создавать объекты, для которых существует API. Базой является Java SE . Основа ввода/вывода - пакеты java.io и java.nio. Выбираем доку по нужной версии и читаем - и API и примеры/руководства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:39 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
BspleskСлучай пере)позиционирования = обращение к файловой системе или всё сложней?Вы лезете в какие-то совершенно ненужные дебри ... Потоки ввода/вывода могут быть созданы из разных источников: файл или каталог из файловой системы, блочное или символьное устройство, массив байт, другой поток ввода/вывода ... Файловая система может создаваться поверх блочного устройства, байтового массива или другого файла. Толку рассматривать разные варианты, если надо взять ваш конкретный случай, изучить API и решить как решать вашу задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 00:50 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
Ну как же ненужные, очень даже нужные. Простейшая задача, "открыть" поток --> (залогировать его содержимое/по середине) --> передать дальше --> закрыть. Всё. Хотя возможно будет проще соответствующий метод требующий <InputStream> "подправить". p.s. за docs.oracle.com, конечно спасибо(знаний действительно не хватает, будем читать), хорошо, что сразу не в google. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 01:21 |
|
||
|
ArrayList<InputStream>
|
|||
|---|---|---|---|
|
#18+
BspleskПростейшая задача, "открыть" поток --> (залогировать его содержимое/по середине) --> передать дальше --> закрыть.Пишите обёртку, которая реализует интерфейс InputStream и, дополнительно, продублирует прочитанное в (какой-то) поток вывода. Пожалуй, простейшим вариантом будет задействовать (небольшой) ByteBuffer, в котором будут накапливаться прочитанные данные и по-блочно записываться в "дублирующий" поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 01:32 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39615109&tid=2122182]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 235ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...