Класс 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
Подробное описание конструкторов
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 не гарантирует блокировку следующей операции чтения.
- Исключения:
-
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/InputStreamReader.html