Spec-Zone.ru › OpenJDK 24

Класс InputStreamReader

java.lang.Object
java.io.Reader
java.io.InputStreamReader
Все реализованные интерфейсы:
Closeable, AutoCloseable, Readable
Непосредственные известные подклассы:
FileReader
public class InputStreamReader extends Reader
InputStreamReader — это мост между потоками байтов и потоками символов: он считывает байты и декодирует их в символы, используя заданный charset. Кодировка, которую он использует, может быть задана по имени, явно или может быть использован default charset.

Каждый вызов метода read() InputStreamReader может вызвать чтение одного или нескольких байтов из базового потока байтового ввода. Для эффективного преобразования байтов в символы могут считываться дополнительные байты из базового потока, чем необходимо для текущей операции чтения.

Для максимальной эффективности рекомендуется обернуть InputStreamReader в BufferedReader. Например:

    BufferedReader in = new BufferedReader(new InputStreamReader(anInputStream));
С:
1.1
См. также:
  • BufferedReader
  • InputStream
  • Charset

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

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

lock

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

Конструктор Описание
InputStreamReader(InputStream in)
Создает InputStreamReader, который использует default charset.
InputStreamReader(InputStream in, String charsetName)
Создает InputStreamReader, который использует указанную кодировку.
InputStreamReader(InputStream in, Charset cs)
Создает InputStreamReader, который использует заданную кодировку.
InputStreamReader(InputStream in, CharsetDecoder dec)
Создает InputStreamReader, который использует заданный декодер кодировки.

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

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

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

mark, markSupported, nullReader, of, read, read, reset, skip, transferTo

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

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

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

InputStreamReader

public InputStreamReader(InputStream in)
Создает InputStreamReader, который использует default charset.
Параметры:
in - Поток байтов
См. также:
  • Charset.defaultCharset()

InputStreamReader

public InputStreamReader(InputStream in, String charsetName) throws UnsupportedEncodingException
Создает InputStreamReader, который использует указанную кодировку.
Параметры:
in - Поток байтов
charsetName - Имя поддерживаемой charset
Исключения:
UnsupportedEncodingException - Если указанная кодировка не поддерживается

InputStreamReader

public InputStreamReader(InputStream in, Charset cs)
Создает InputStreamReader, который использует заданную кодировку.
Параметры:
in - Поток байтов
cs - Кодировка
С:
1.4

InputStreamReader

public InputStreamReader(InputStream in, CharsetDecoder dec)
Создаёт InputStreamReader, использующий указанный декодер кодировки.
Параметры:
in - Поток байтов
dec - Декодер кодировки
С:
1.4

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

getEncoding

public String getEncoding()
Возвращает имя используемой кодировки символов для этого потока.

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

Если этот экземпляр был создан с помощью InputStreamReader(InputStream, String) конструктора, то возвращаемое имя, уникальное для кодировки, может отличаться от имени, переданного в конструктор. Этот метод вернёт null, если поток был закрыт.

Возвращает:
Историческое имя этой кодировки или null, если поток был закрыт
См. также:
  • Charset

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
Определяет готовность этого потока к чтению. InputStreamReader готов, если его буфер ввода не пуст или если доступны байты для чтения из базового потока байтов.
Переопределяет:
ready в классе Reader
Возвращает:
true, если следующее read() гарантированно не будет блокироваться в ожидании ввода, false в противном случае. Обратите внимание, что возврат false не гарантирует, что следующее чтение будет заблокировано.
Исключения:
IOException - Если произошла ошибка ввода/вывода

close

public void close() throws IOException
Описание скопировано из класса: Reader
Закрывает поток и освобождает связанные с ним системные ресурсы. После закрытия потока дальнейшие вызовы read(), ready(), mark(), reset() или skip() вызовут исключение IOException. Закрытие уже закрытого потока не оказывает никакого влияния.
Указано в:
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/io/InputStreamReader.html

Spec-Zone.ru

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