InputStream - пометить, пропустить, прочитать, сбросить - PullRequest
0 голосов
/ 24 апреля 2018

В документации API InputStream::mark(int readlimit) и InputStream::reset() ясно о последующих вызовах read - InputStream можно сбросить, если поддерживается mark и считано не более readlimit байтов.

Мой вопрос: верно ли это для последующих skip вызовов? Другими словами - могу ли я skip и read меньше, чем readlimit байтов, а затем reset потока? Или skip не считается "сбрасываемой" операцией?

Я знаю, что мог бы просто проверить это и выяснить или, что еще лучше, прочитать некоторые источники существующих реализаций InputStream. Но поскольку я разрабатываю свой собственный InputStream - я хочу понять с точки зрения "общего контракта" - как вы думаете, это должно быть реализовано с поддержкой или без поддержки skip? (Я спрашиваю, так как это может привести к некоторым усложнениям кода в моей реализации).

...