Spec-Zone.ru › OpenJDK 25

Класс 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

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

Поля, объявленные в классе 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)
Записывает часть строки.

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

append, append, append, nullWriter, write, write

Методы, объявленные в классе 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 — если произошла ошибка ввода-вывода

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/io/OutputStreamWriter.html

Spec-Zone.ru

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