Spec-Zone.ru › OpenJDK 25

Класс StringReader

java.lang.Object
java.io.Reader
java.io.StringReader
Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
public class StringReader extends Reader
Символьный поток, источником которого является строка.
Примечание API:
Reader.of(CharSequence) предоставляет метод для чтения из любого CharSequence, который может быть эффективнее, чем StringReader.
С версии:
1.1

Краткое описание полей

Поля, объявленные в классе Reader

lock

Краткое описание конструкторов

Конструктор Описание
StringReader(String s)
Создает новый читатель строк.

Краткое описание методов

Модификатор и тип Метод Описание
void close()
Закрывает поток и освобождает все связанные с ним системные ресурсы.
void mark(int readAheadLimit)
Помечает текущую позицию в потоке.
boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), которую он поддерживает.
int read()
Считывает один символ.
int read(char[] cbuf, int off, int len)
Считывает символы в часть массива.
boolean ready()
Сообщает, готов ли этот поток к чтению.
void reset()
Возвращает поток к последней отметке или к началу строки, если отметки не устанавливались.
long skip(long n)
Пропускает символы.

Методы, объявленные в классе Reader

nullReader, of, read, read, readAllAsString, readAllLines, transferTo

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

StringReader

public StringReader(String s)
Создает новый читатель строк.
Параметры:
s — строка, предоставляющая символьный поток.

Подробное описание методов

read

public int read() throws IOException
Считывает один символ.
Переопределяет:
read в классе Reader
Возвращает:
Считанный символ или -1, если достигнут конец потока
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода

read

public int read(char[] cbuf, int off, int len) throws IOException
Считывает символы в часть массива.

Если len равно нулю, символы не считываются и возвращается 0; в противном случае предпринимается попытка считать хотя бы один символ. Если символы недоступны, поскольку поток достиг конца, возвращается значение -1; в противном случае считывается как минимум один символ и сохраняется в cbuf.

Определено в:
read в классе Reader
Параметры:
cbuf — буфер назначения
off — смещение, с которого начинается сохранение символов
len — максимальное количество считываемых символов
Возвращает:
Количество считанных символов или -1, если достигнут конец потока
Вызывает исключение:
IndexOutOfBoundsException — если off отрицательно, или len отрицательно, или len больше cbuf.length - off
IOException — если произошла ошибка ввода-вывода

skip

public long skip(long n) throws IOException
Пропускает символы. Если до вызова этого метода поток уже достиг конца, символы не пропускаются и возвращается ноль.

Параметр n может быть отрицательным, хотя метод skip суперкласса Reader в этом случае выбрасывает исключение. Отрицательные значения n приводят к перемещению потока назад. Отрицательные возвращаемые значения указывают на перемещение назад. Переместиться назад за начало строки невозможно.

Если вся строка была считана или пропущена, этот метод не оказывает влияния и всегда возвращает 0.

Переопределяет:
skip в классе Reader
Параметры:
n — количество символов для пропуска
Возвращает:
Фактическое количество пропущенных символов
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода

ready

public boolean ready() throws IOException
Сообщает, готов ли этот поток к чтению.
Переопределяет:
ready в классе Reader
Возвращает:
Истина, если следующий вызов read() гарантированно не будет блокироваться в ожидании ввода
Вызывает исключение:
IOException — если поток закрыт

markSupported

public boolean markSupported()
Сообщает, поддерживает ли этот поток операцию mark(), которую он поддерживает.
Переопределяет:
markSupported в классе Reader
Возвращает:
true тогда и только тогда, когда этот поток поддерживает операцию mark.

mark

public void mark(int readAheadLimit) throws IOException
Помечает текущую позицию в потоке. Последующие вызовы reset() переместят поток в эту позицию.
Переопределяет:
mark в классе Reader
Параметры:
readAheadLimit — ограничение на количество символов, которое можно считать с сохранением отметки. Поскольку входные данные потока поступают из строки, фактического ограничения нет, поэтому этот аргумент не должен быть отрицательным, но в остальном игнорируется.
Вызывает исключение:
IllegalArgumentException — если readAheadLimit < 0
IOException — если произошла ошибка ввода-вывода

reset

public void reset() throws IOException
Возвращает поток к последней отметке или к началу строки, если отметки не устанавливались.
Переопределяет:
reset в классе Reader
Вызывает исключение:
IOException — если произошла ошибка ввода-вывода

close

public void close()
Закрывает поток и освобождает все связанные с ним системные ресурсы. После закрытия потока последующие вызовы read(), ready(), mark() или reset() приведут к выбросу IOException. Повторное закрытие уже закрытого потока не оказывает никакого эффекта. Этот метод будет блокироваться, пока другая нить заблокирована на чтении из этого объекта reader.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в классе Reader

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/StringReader.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API