Что такое отметка и сброс в BufferedReader?

Я хотел бы знать, что такое методы mark () и reset () в BufferedReader ? Как мне их использовать? Я читал Javadoc, но как новичок не мог его понять.

22
задан Boann 6 April 2016 в 13:55
поделиться

2 ответа

Интерфейс считывателя не не позволяет вам вернуться, вы можете просто прочитать. BufferedReader, с другой стороны, создает буфер, так что вы можете вернуть немного при чтении. И это то, для чего эти методы.

С помощью метода mark () вы помещаете «маркер» в позицию, после чего можете читать дальше. Как только вы поймете, что хотите вернуть отмеченную позицию, вы используете для этого reset (). И с этого момента вы снова читаете те же значения. Вы можете использовать его для чего угодно.

1
ответ дан 29 November 2019 в 05:12
поделиться

mark() отмечает конкретную точку в потоке, а reset() сбрасывает поток до самой последней отметки. Эти методы предоставляют функцию book-marking, которая позволяет вам читать вперед в потоке для проверки предстоящих данных.

Из этой документации:

Метод mark () отмечает позицию на входе, на которую поток может быть «сброшен» путем вызова метод reset (). Параметр readLimit - это число символов, которые можно прочитать из потока после установки метки до того, как метка станет недействительной. Например, если mark () вызывается с пределом чтения 10, то когда 11 потоков данных считываются из потока перед вызовом метода reset (), тогда метка недействительна, и экземпляр объекта потока не требуется для помните знак. Обратите внимание, что количество символов, которые можно запомнить этим методом, может быть больше размера внутреннего буфера чтения. Он также не зависит от подчиненного потока, поддерживающего функцию метки / сброса.

9
ответ дан 29 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: