Класс InputStreamReader
- Все реализуемые интерфейсы:
Closeable, AutoCloseable, Readable
- Прямые известные подклассы:
FileReader
public class InputStreamReader extends Reader
charset. Используемая кодировка может быть задана по имени или явно, также может использоваться default charset. Каждый вызов одного из методов read() класса InputStreamReader может привести к считыванию одного или нескольких байтов из базового потока ввода байтов. Для эффективного преобразования байтов в символы из базового потока может быть предварительно считано больше байтов, чем необходимо для выполнения текущей операции чтения.
Для повышения эффективности рекомендуется обернуть InputStreamReader в BufferedReader. Например:
BufferedReader in = new BufferedReader(new InputStreamReader(anInputStream));
Для чтения из System.in используйте значение системного свойства stdin.encoding в качестве Charset:
new InputStreamReader(System.in, System.getProperty("stdin.encoding"));
- С версии:
- 1.1
- См. также:
Краткое описание полей
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
InputStreamReader |
Создает InputStreamReader, использующий default charset. |
InputStreamReader |
Создает InputStreamReader, использующий именованную кодировку. |
InputStreamReader |
Создает InputStreamReader, использующий заданную кодировку. |
InputStreamReader |
Создает InputStreamReader, использующий заданный декодер кодировки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает поток и освобождает все связанные с ним системные ресурсы. |
String |
getEncoding() |
Возвращает название кодировки символов, используемой этим потоком. |
int |
read() |
Считывает один символ. |
int |
read |
Считывает символы в часть массива. |
boolean |
ready() |
Проверяет, готов ли этот поток к чтению. |
Методы, объявленные в классе Reader
mark, markSupported, nullReader, of, read, read, readAllAsString, readAllLines, reset, skip, transferTo | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
mark |
Помечает текущую позицию в потоке. |
boolean |
markSupported() |
Проверяет, поддерживает ли этот поток операцию mark(). |
static Reader |
nullReader() |
Возвращает новый Reader, который не считывает символы. |
static Reader |
of |
Возвращает Reader, считывающий символы из CharSequence. |
int |
read |
Считывает символы в массив. |
int |
read |
Пытается считать символы в указанный символьный буфер. |
String |
readAllAsString() |
Считывает все оставшиеся символы в строку. |
List |
readAllLines() |
Считывает все оставшиеся символы как строки текста. |
void |
reset() |
Сбрасывает поток. |
long |
skip |
Пропускает символы. |
long |
transferTo |
Считывает все символы из этого средства чтения и записывает их в заданное средство записи в порядке считывания. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Проверяет, «равен ли» этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
Подробное описание конструкторов
InputStreamReader
public InputStreamReader(InputStream in)
default charset.- Параметры:
-
in— входной поток - См. также:
InputStreamReader
public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException
- Параметры:
-
in— входной поток -
charsetName— имя поддерживаемойcharset - Исключения:
-
UnsupportedEncodingException— если именованная кодировка не поддерживается
InputStreamReader
public InputStreamReader(InputStream in, Charset cs)
- Параметры:
-
in— входной поток -
cs— кодировка - С версии:
- 1.4
InputStreamReader
public InputStreamReader(InputStream in, CharsetDecoder dec)
- Параметры:
-
in— входной поток -
dec— декодер кодировки - С версии:
- 1.4
Подробное описание методов
getEncoding
public String getEncoding()
Если у кодировки есть историческое название, возвращается оно; в противном случае возвращается каноническое название кодировки.
Если этот экземпляр создан с помощью конструктора InputStreamReader(InputStream, String), возвращаемое название, уникальное для кодировки, может отличаться от названия, переданного конструктору. Если поток закрыт, этот метод возвращает null.
- Возвращает:
- Историческое название этой кодировки или
null, если поток закрыт - См. также:
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— если произошла ошибка ввода-вывода
ready
public boolean ready() throws IOException
- Переопределяет:
-
readyв классеReader - Возвращает:
- True, если следующий вызов read() гарантированно не будет блокироваться в ожидании входных данных; в противном случае — false. Обратите внимание: возврат false не гарантирует, что следующий вызов read будет заблокирован.
- Исключения:
-
IOException— если произошла ошибка ввода-вывода
close
public void close() throws IOException
Reader- Определено в:
-
closeв интерфейсеAutoCloseable - Определено в:
-
closeв интерфейсеCloseable - Определено в:
-
closeв классеReader - Исключения:
-
IOException— если произошла ошибка ввода-вывода
© 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.