У меня есть ServletInputStream, который может быть очень большим, и я хочу извлечь первые X байтов InputStream и затем позволить потоку в его начальном состоянии.
На данный момент я сделал markSupported (), mark () и reset (), но markSupported возвращает false, поэтому мне нужно реализовать другой способ сделать это.
Решение описал здесь , чтобы прочитать входной поток дважды, но проблема в том, что мой поток может быть очень большим по размеру, и у меня не может быть всего этого в памяти (более того, я не уверен, что максимальный размер массива будет достаточно).
Есть ли способ просто прочитать небольшое количество байтов и затем поставить поток в исходное состояние. Обходной путь будет состоять в том, чтобы использовать X байтов, которые я хочу прочитать, а затем разрешить потраченному потоку пройти X байтов в дополнение к следующему процессу (которого я хочу избежать).