Класс 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 |
Записывает часть строки. |
Методы, объявленные в классе Writer
append, append, append, nullWriter, write, write | Модификатор и тип | Метод | Описание |
|---|---|---|
Writer |
append |
Добавляет указанный символ в этот объект записи. |
Writer |
append |
Добавляет указанную последовательность символов в этот объект записи. |
Writer |
append |
Добавляет подпоследовательность указанной последовательности символов в этот объект записи. |
static Writer |
nullWriter() |
Возвращает новый Writer, отбрасывающий все символы. |
void |
write |
Записывает массив символов. |
void |
write |
Записывает строку. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
Подробное описание конструкторов
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— целое число, задающее символ для записи - Исключения:
-
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.