Ограничение чтения метки буферизованного входного потока

Я учусь использовать InputStream. Я пытался использовать метку для BufferedInputStream, но когда я пытаюсь выполнить сброс, у меня возникают следующие исключения:

java.io.IOException: Resetting to invalid mark

Я думаю, это означает, что предел чтения моей метки установлен неправильно. На самом деле я не знаю, как установить лимит чтения в mark (). Я пробовал вот так:

is = new BufferedInputStream(is);
is.mark(is.available());

Это тоже неправильно.

is.mark(16);

Это также вызывает то же исключение. Как мне узнать, какой лимит чтения я должен установить? Поскольку я буду читать файлы разных размеров из входного потока.

10
задан Brad Koch 29 March 2016 в 14:31
поделиться