Класс StringReader
- java.lang.Object
-
- java.io.Reader
-
- java.io.StringReader
- Все реализованные интерфейсы:
-
Closeable,AutoCloseable,Readable
public class StringReader extends Reader
Поток символов, источником которого является строка.
- С момента:
- 1.1
Поля
Поля, объявленные в классе java.io.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 ns) | Пропускает указанное количество символов в потоке. |
Методы, объявленные в классе java.io.Reader
nullReader, read, read, transferToМетоды, объявленные в классе java.lang.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 Читает символы в часть массива.
- Определено в:
-
readв классеReader - Параметры:
-
cbuf- Буфер назначения -
off- Смещение, с которого начинать запись символов -
len- Максимальное количество символов для чтения - Возвращает значение:
- Количество прочитанных символов или -1, если достигнут конец потока
- Бросает:
-
IOException- Если произошла ошибка ввода-вывода -
IndexOutOfBoundsException- Если произошла ошибка ввода-вывода
skip
public long skip(long ns)
throws IOException Пропускает указанное количество символов в потоке. Возвращает количество пропущенных символов.
Параметр ns может быть отрицательным, даже несмотря на то, что метод skip суперкласса Reader в этом случае выбрасывает исключение. Отрицательные значения ns вызывают пропуск символов назад. Отрицательные значения возвращаемого значения означают пропуск назад. Невозможно пропустить назад за начало строки.
Если вся строка была прочитана или пропущена, то этот метод не имеет эффекта и всегда возвращает 0.
- Переопределяет:
-
skipв классеReader - Параметры:
-
ns- Количество символов для пропуска - Возвращает значение:
- Количество фактически пропущенных символов
- Бросает:
-
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. Закрытие уже закрытого потока не имеет эффекта. Этот метод будет блокировать, пока другой поток блокирован на чтении.
© 1993, 2020, 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/11/docs/api/java.base/java/io/StringReader.html