Класс 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- Поток вывода -
charsetName- Имя поддерживаемойcharset - Исключения:
-
UnsupportedEncodingException- Если указанная кодировка не поддерживается
OutputStreamWriter
public OutputStreamWriter(OutputStream out)
out является PrintStream, кодировку, используемую потоком вывода.- Параметры:
-
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- 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- Определено в:
-
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