Spec-Zone.ru › OpenJDK 24

Класс 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 - Поток вывода
charsetName - Имя поддерживаемой charset
Исключения:
UnsupportedEncodingException - Если указанная кодировка не поддерживается

OutputStreamWriter

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

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 - int, определяющий символ для записи
Исключения:
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, 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/OutputStreamWriter.html

Spec-Zone.ru

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