Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Поле Описание
protected Object 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
Модификатор и тип Метод Описание
static Reader nullReader()
Возвращает новый Reader, который не считывает символы.
static Reader of(CharSequence cs)
Возвращает Reader, который считывает символы из CharSequence.
int read(char[] cbuf)
Считывает символы в массив.
int read(CharBuffer target)
Пытается считать символы в указанный буфер символов.
String readAllAsString()
Считывает все оставшиеся символы в строку.
List<String> readAllLines()
Считывает все оставшиеся символы в виде строк текста.
long transferTo(Writer out)
Считывает все символы из этого средства чтения и записывает их в указанный поток записи в том же порядке.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии.
Финализация устарела и планируется к удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определенного промежутка реального времени.

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

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
Возвращает:
true, если гарантируется, что следующий вызов 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. Закрытие уже закрытого потока не оказывает эффекта. Этот метод будет блокироваться, пока другой поток заблокирован на этом средстве чтения.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в классе Reader

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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