mark
иногда полезно, если вам нужно проверить несколько байтов помимо того, что вы прочитали, чтобы решить, что делать дальше, затем вы возвращаетесь к отметке и вызываете подпрограмму, которая ожидает указатель файла наначало этой логической части ввода.Я не думаю, что это действительно предназначено для чего-то еще.
Если вы посмотрите на Javadoc для BufferedInputStream , там написано
Операция пометки запоминает точкуво входном потоке, и операция сброса вызывает считывание всех байтов, поскольку самая последняя операция пометки перечитывается до того, как новые байты будут взяты из содержащегося входного потока.
Ключевым моментом, который следует помнить здесь, является то, как только вы пометите место в потоке, , если вы продолжите чтение сверх отмеченной длины, отметка больше не будет действительной , ивызов сброса не удастся.Так что отметка хороша для конкретных ситуаций и не слишком полезна в других случаях.