Spec-Zone.ru › OpenJDK 21

Класс 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(anOutputStream));

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

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

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

С тех пор:
1.1
См. также:
  • BufferedWriter
  • OutputStream
  • Charset

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

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

lock

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

Конструктор Описание
OutputStreamWriter(OutputStream out)
Создаёт OutputStreamWriter, использующий кодировку символов по умолчанию, или, если out является PrintStream, использует кодировку символов, используемую потоком вывода.
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 - OutputStream
charsetName - Имя поддерживаемой charset
Исключения:
UnsupportedEncodingException - Если заданная кодировка не поддерживается

OutputStreamWriter

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

OutputStreamWriter

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

OutputStreamWriter

public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
Создаёт OutputStreamWriter, использующий заданный кодировщик символов.
Параметры:
out - OutputStream
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, 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/OutputStreamWriter.html

Spec-Zone.ru

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