Класс OutputStreamWriter
- Все реализованные интерфейсы:
-
Closeable,Flushable,Appendable,AutoCloseable
- Прямые известные подклассы:
FileWriter
public class OutputStreamWriter extends Writer
charset. Кодировка, которую он использует, может быть указана по имени, явно задана или может быть принята по умолчанию для платформы. Каждый вызов метода write() вызывает вызов преобразователя кодирования для заданного(ых) символа(ов). Результирующие байты накапливаются в буфере перед записью в базовый поток вывода. Обратите внимание, что символы, передаваемые методам write(), не буферизуются.
Для максимальной эффективности рекомендуется обернуть OutputStreamWriter в BufferedWriter, чтобы избежать частых вызовов преобразователя. Например:
Writer out = new BufferedWriter(new OutputStreamWriter(System.out));
Пара суррогатов — это символ, представленный последовательностью из двух char значений: старший суррогат в диапазоне '\uD800' до '\uDBFF', за которым следует младший суррогат в диапазоне '\uDC00' до '\uDFFF'.
Неправильный элемент суррогата — это старший суррогат, за которым не следует младший суррогат, или младший суррогат, перед которым не стоит старший суррогат.
Этот класс всегда заменяет неправильные элементы суррогата и неотображаемые последовательности символов на стандартную последовательность подстановки кодировки. Класс CharsetEncoder следует использовать, когда требуется больший контроль над процессом кодирования.
- С момента:
- 1.1
- См. также:
Краткое описание полей
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
OutputStreamWriter |
Создаёт OutputStreamWriter, использующий кодировку символов по умолчанию. |
OutputStreamWriter |
Создаёт OutputStreamWriter, использующий указанную кодировку символов. |
OutputStreamWriter |
Создаёт OutputStreamWriter, использующий указанную кодировку. |
OutputStreamWriter |
Создаёт OutputStreamWriter, использующий указанный кодировщик кодировки. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
close() |
Закрывает поток, предварительно его сбросив. |
void |
flush() |
Сбрасывает поток. |
String |
getEncoding() |
Возвращает имя используемой кодировки символов в этом потоке. |
void |
write |
Записывает часть массива символов. |
void |
write |
Записывает один символ. |
void |
write |
Записывает часть строки. |
Подробное описание конструкторов
OutputStreamWriter
public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException
- Параметры:
-
out- Поток вывода -
charsetName- Имя поддерживаемойcharset - Исключения:
-
UnsupportedEncodingException- Если указанная кодировка не поддерживается
OutputStreamWriter
public OutputStreamWriter(OutputStream out)
- Параметры:
-
out- Поток вывода
OutputStreamWriter
public OutputStreamWriter(OutputStream out, Charset cs)
- Параметры:
-
out- Поток вывода -
cs- Кодировка - С момента:
- 1.4
OutputStreamWriter
public OutputStreamWriter(OutputStream out, CharsetEncoder enc)
- Параметры:
-
out- Поток вывода -
enc- Кодировщик кодировки - С момента:
- 1.4
Подробное описание методов
getEncoding
public String getEncoding()
Если у кодировки есть историческое имя, то возвращается это имя; в противном случае возвращается каноническое имя кодировки.
Если этот экземпляр был создан с помощью конструктора OutputStreamWriter(OutputStream, String), то возвращаемое имя, являющееся уникальным для кодировки, может отличаться от имени, переданного в конструктор. Этот метод может вернуть null если поток закрыт.
- Возвращает:
- Историческое имя этой кодировки или, возможно,
nullесли поток закрыт - См. также:
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- Определено в:
-
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