Spec-Zone.ru › OpenJDK 17

Класс 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
Возвращает:
Истина, если следующее чтение гарантированно не будет заблокировано для ввода, ложь в противном случае. Обратите внимание, что возвращение ложности не гарантирует, что следующее чтение будет заблокировано.
Исключения:
IOException - Если произошла ошибка ввода-вывода

close

public void close() throws IOException
Описание скопировано из класса: Reader
Закрывает поток и высвобождает все системные ресурсы, связанные с ним. После закрытия потока дальнейшие вызовы read(), ready(), mark(), reset() или skip() будут выбрасывать IOException. Закрытие ранее закрытого потока не имеет эффекта.
Определяется в:
close в интерфейсе AutoCloseable
Определяется в:
close в интерфейсе Closeable
Определяется в:
close в классе Reader
Исключения:
IOException - Если произошла ошибка ввода-вывода

© 1993, 2021, 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/17/docs/api/java.base/java/io/InputStreamReader.html

Spec-Zone.ru

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