Spec-Zone.ru › OpenJDK 17

Класс OutputStreamWriter

java.lang.Object
java.io.Writer
java.io.OutputStreamWriter
Все реализованные интерфейсы:
Closeable, Flushable, Appendable, AutoCloseable
Прямые известные подклассы:
FileWriter
public class OutputStreamWriter extends Writer
OutputStreamWriter — это мост между потоками символов и потоками байтов: символы, записанные в него, кодируются в байты с использованием указанного charset. Кодировка, которую он использует, может быть указана по имени, явно задана или может быть принята по умолчанию для платформы.

Каждый вызов метода write() вызывает вызов преобразователя кодирования для заданного(ых) символа(ов). Результирующие байты накапливаются в буфере перед записью в базовый поток вывода. Обратите внимание, что символы, передаваемые методам write(), не буферизуются.

Для максимальной эффективности рекомендуется обернуть OutputStreamWriter в BufferedWriter, чтобы избежать частых вызовов преобразователя. Например:

 Writer out
   = new BufferedWriter(new OutputStreamWriter(System.out));
 

Пара суррогатов — это символ, представленный последовательностью из двух char значений: старший суррогат в диапазоне '\uD800' до '\uDBFF', за которым следует младший суррогат в диапазоне '\uDC00' до '\uDFFF'.

Неправильный элемент суррогата — это старший суррогат, за которым не следует младший суррогат, или младший суррогат, перед которым не стоит старший суррогат.

Этот класс всегда заменяет неправильные элементы суррогата и неотображаемые последовательности символов на стандартную последовательность подстановки кодировки. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.

С момента:
1.1
См. также:
  • BufferedWriter
  • OutputStream
  • Charset

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

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

lock

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

Конструктор Описание
OutputStreamWriter(OutputStream out)
Создаёт OutputStreamWriter, использующий кодировку символов по умолчанию.
OutputStreamWriter(OutputStream out, String charsetName)
Создаёт OutputStreamWriter, использующий указанную кодировку символов.
OutputStreamWriter(OutputStream out, Charset cs)
Создаёт OutputStreamWriter, использующий указанную кодировку.
OutputStreamWriter(OutputStream out, CharsetEncoder enc)
Создаёт OutputStreamWriter, использующий указанный кодировщик кодировки.

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

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

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

append, append, append, nullWriter, write, write

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

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

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

OutputStreamWriter

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

OutputStreamWriter

public OutputStreamWriter(OutputStream out)
Создаёт OutputStreamWriter, использующий кодировку символов по умолчанию.
Параметры:
out - Поток вывода

OutputStreamWriter

public OutputStreamWriter(OutputStream out, Charset cs)
Создаёт OutputStreamWriter, использующий указанную кодировку.
Параметры:
out - Поток вывода
cs - Кодировка
С момента:
1.4

OutputStreamWriter

public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
Создаёт OutputStreamWriter, использующий указанный кодировщик кодировки.
Параметры:
out - Поток вывода
enc - Кодировщик кодировки
С момента:
1.4

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

getEncoding

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

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

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

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

write

public void write(int c) throws IOException
Записывает один символ.
Переопределяет:
write в классе Writer
Параметры:
c - целое число, представляющее символ для записи
Исключения:
IOException - Если произошла ошибка ввода-вывода

write

public void write(char[] cbuf, int off, int len) throws IOException
Записывает часть массива символов.
Определено в:
write в классе Writer
Параметры:
cbuf - Буфер символов
off - Смещение, с которого начинать запись символов
len - Количество символов для записи
Исключения:
IndexOutOfBoundsException - Если off отрицательно, или len отрицательно, или off + len отрицательно или больше длины данного массива
IOException - Если произошла ошибка ввода-вывода

write

public void write(String str, int off, int len) throws IOException
Записывает часть строки.
Переопределяет:
write в классе Writer
Параметры:
str - Строка
off - Смещение, с которого начинать запись символов
len - Количество символов для записи
Исключения:
IndexOutOfBoundsException - Если off отрицательно, или len отрицательно, или off + len отрицательно или больше длины данной строки
IOException - Если произошла ошибка ввода-вывода

flush

public void flush() throws IOException
Сбрасывает поток.
Определено в:
flush в интерфейсе Flushable
Определено в:
flush в классе Writer
Исключения:
IOException - Если произошла ошибка ввода-вывода

close

public void close() throws IOException
Описание скопировано из класса: Writer
Закрывает поток, предварительно его сбросив. После закрытия потока дальнейшие вызовы методов write() или flush() приведут к возбуждению исключения IOException. Закрытие ранее закрытого потока не оказывает никакого влияния.
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в интерфейсе Closeable
Определено в:
close в классе Writer
Исключения:
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/OutputStreamWriter.html

Spec-Zone.ru

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