В документации API InputStream::mark(int readlimit)
и InputStream::reset()
ясно о последующих вызовах read
- InputStream
можно сбросить, если поддерживается mark
и считано не более readlimit
байтов.
Мой вопрос: верно ли это для последующих skip
вызовов? Другими словами - могу ли я skip
и read
меньше, чем readlimit
байтов, а затем reset
потока? Или skip
не считается "сбрасываемой" операцией?
Я знаю, что мог бы просто проверить это и выяснить или, что еще лучше, прочитать некоторые источники существующих реализаций InputStream
. Но поскольку я разрабатываю свой собственный InputStream
- я хочу понять с точки зрения "общего контракта" - как вы думаете, это должно быть реализовано с поддержкой или без поддержки skip
? (Я спрашиваю, так как это может привести к некоторым усложнениям кода в моей реализации).