Spec-Zone.ru › OpenJDK 21

Класс 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, 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, 2023, 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/21/docs/api/java.base/java/io/InputStreamReader.html

Spec-Zone.ru

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