Класс CharArrayWriter
- java.lang.Object
-
- java.io.Writer
-
- java.io.CharArrayWriter
- Все реализованные интерфейсы:
- Closeable, Flushable, Appendable, AutoCloseable
public class CharArrayWriter extends Writer
Этот класс реализует буфер символов, который может использоваться как поток записи. Буфер автоматически увеличивается при записи данных в поток. Данные можно получить, используя методы toCharArray() и toString().
Примечание: Вызов close() для этого класса не имеет эффекта, и методы этого класса можно вызывать после закрытия потока без генерации исключения IOException.
- С момента:
- JDK1.1
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected char[] |
buf Буфер, в котором хранятся данные. |
protected int |
count Количество символов в буфере. |
Поля, унаследованные от класса java.io.Writer
lock Конструкторы
| Конструктор и описание |
|---|
CharArrayWriter() Создаёт новый CharArrayWriter. |
CharArrayWriter(int initialSize) Создаёт новый CharArrayWriter с указанным начальным размером. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
CharArrayWriter |
append(char c) Добавляет указанный символ в этот поток записи. |
CharArrayWriter |
append(CharSequence csq) Добавляет указанную последовательность символов в этот поток записи. |
CharArrayWriter |
append(CharSequence csq,
int start,
int end) Добавляет подпоследовательность указанной последовательности символов в этот поток записи. |
void |
close() Закрыть поток. |
void |
flush() Сбросить поток. |
void |
reset() Сбрасывает буфер, так что вы можете его снова использовать, не удаляя уже выделенный буфер. |
int |
size() Возвращает текущий размер буфера. |
char[] |
toCharArray() Возвращает копию входных данных. |
String |
toString() Преобразует входные данные в строку. |
void |
write(char[] c,
int off,
int len) Записывает символы в буфер. |
void |
write(int c) Записывает символ в буфер. |
void |
write(String str,
int off,
int len) Записывает часть строки в буфер. |
void |
writeTo(Writer out) Записывает содержимое буфера в другой поток символов. |
Методы, унаследованные от класса java.io.Writer
write, write Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Подробное описание полей
buf
protected char[] buf
Буфер, в котором хранятся данные.
count
protected int count
Количество символов в буфере.
Подробное описание конструкторов
CharArrayWriter
public CharArrayWriter()
Создаёт новый CharArrayWriter.
CharArrayWriter
public CharArrayWriter(int initialSize)
Создаёт новый CharArrayWriter с указанным начальным размером.
- Параметры:
-
initialSize- целое число, определяющее начальный размер буфера. - Исключения:
-
IllegalArgumentException- если initialSize отрицательный
Подробное описание методов
write
public void write(int c)
Записывает символ в буфер.
write
public void write(char[] c,
int off,
int len) Записывает символы в буфер.
- Указано в:
-
writeв классеWriter - Параметры:
-
c- данные для записи -
off- начальный смещение в данных -
len- количество символов, которые записываются
write
public void write(String str,
int off,
int len) Записывает часть строки в буфер.
- Переопределяет:
-
writeв классеWriter - Параметры:
-
str- Строка для записи из -
off- Смещение, с которого начать чтение символов -
len- Количество символов для записи
writeTo
public void writeTo(Writer out)
throws IOException Записывает содержимое буфера в другой поток символов.
- Параметры:
-
out- поток вывода для записи - Исключения:
-
IOException- Если произошла ошибка ввода-вывода.
append
public CharArrayWriter append(CharSequence csq)
Добавляет указанную последовательность символов в этот поток записи.
Вызов этого метода в форме out.append(csq) ведет себя точно так же, как вызов
out.write(csq.toString())
В зависимости от спецификации toString для последовательности символов csq, вся последовательность может не быть добавлена. Например, вызов метода toString буфера символов вернет подпоследовательность, содержимое которой зависит от позиции и предела буфера.
- Указано в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
csq- Последовательность символов для добавления. Еслиcsqравноnull, то четыре символа"null"добавляются в этот поток записи. - Возвращает:
- Этот поток записи
- С момента:
- 1.5
append
public CharArrayWriter append(CharSequence csq,
int start,
int end) Добавляет подпоследовательность указанной последовательности символов в этот поток записи.
Вызов этого метода в форме out.append(csq, start, end) когда csq не равно null, ведет себя точно так же, как вызов
out.write(csq.subSequence(start, end).toString())
- Указано в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
csq- Последовательность символов, из которой подпоследовательность будет добавлена. Еслиcsqравноnull, то символы будут добавлены так, как если быcsqсодержал четыре символа"null". -
start- Индекс первого символа в подпоследовательности -
end- Индекс символа, следующего за последним символом в подпоследовательности - Возвращает:
- Этот поток записи
- Исключения:
-
IndexOutOfBoundsException- Еслиstartилиendотрицательны,startбольшеend, илиendбольшеcsq.length() - С момента:
- 1.5
append
public CharArrayWriter append(char c)
Добавляет указанный символ в этот поток записи.
Вызов этого метода в форме out.append(c) ведет себя точно так же, как вызов
out.write(c)
- Указано в:
-
appendв интерфейсеAppendable - Переопределяет:
-
appendв классеWriter - Параметры:
-
c- 16-битный символ для добавления - Возвращает:
- Этот поток записи
- С момента:
- 1.5
reset
public void reset()
Сбрасывает буфер, так что вы можете его снова использовать, не удаляя уже выделенный буфер.
toCharArray
public char[] toCharArray()
Возвращает копию входных данных.
- Возвращает:
- массив символов, скопированных из входных данных.
size
public int size()
Возвращает текущий размер буфера.
- Возвращает:
- целое число, представляющее текущий размер буфера.
toString
public String toString()
Преобразует входные данные в строку.
flush
public void flush()
Сбросить поток.
close
public void close()
Закрыть поток. Этот метод не освобождает буфер, так как его содержимое может быть всё ещё необходимо. Примечание: Вызов этого метода в этом классе не окажет никакого влияния.
© 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.