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