Spec-Zone.ru › OpenJDK 8

Класс 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 следует использовать, когда требуется больший контроль над процессом кодирования.

С момента:
JDK1.1
См. также:
BufferedWriter, OutputStream, Charset

Поля

Поля, унаследованные от класса java.io.Writer

lock

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

Конструктор и описание
OutputStreamWriter(OutputStream out)

Создает OutputStreamWriter, использующий кодировку символов по умолчанию.

OutputStreamWriter(OutputStream out, Charset cs)

Создает OutputStreamWriter, использующий заданную кодировку.

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

Создает OutputStreamWriter, использующий заданный кодировщик наборов символов.

OutputStreamWriter(OutputStream out, String charsetName)

Создает 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, 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 - int, определяющий символ для записи
Исключения:
IOException - Если возникает ошибка ввода/вывода

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws IOException

Записывает часть массива символов.

Определено в:
write в классе Writer
Параметры:
cbuf - Буфер символов
off - Смещение, с которого начинать запись символов
len - Количество символов для записи
Исключения:
IOException - Если возникает ошибка ввода/вывода

write

public void write(String str,
                  int off,
                  int len)
           throws IOException

Записывает часть строки.

Переопределяет:
write в классе Writer
Параметры:
str - Строка
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 в интерфейсе Closeable
Определено в:
close в интерфейсе AutoCloseable
Определено в:
close в классе Writer
Исключения:
IOException - Если возникает ошибка ввода/вывода

© 1993, 2020, 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.

Spec-Zone.ru

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