Cодержание
Руководство Java CharArrayWriter
View more Tutorials:


CharArrayWriter - это подкласс Writer. Верный своему названию, CharArrayWriter используется для записи символов в массив символов, которым он управляет в стиле Writer.

Символы, записанные в CharArrayWriter, будут назначены элементам массива символов, которым управляет CharArrayWriter:

Когда количество символов, записанных в CharArrayWriter, больше длины массива, CharArrayWriter будет создавать новый массив с большей длиной и скопирует символы из старого массива.
Constructors
public CharArrayWriter()
public CharArrayWriter(int initialSize)
- Конструктор CharArrayWriter(int) создает объект CharArrayWriter с массивом символов, имеющим заданный начальный размер.
- Конструктор CharArrayWriter() создает объект CharArrayWriter с массивом символов, размер которого по умолчанию равен 32.
Methods of CharArrayWriter
public CharArrayWriter append(char c)
public CharArrayWriter append(CharSequence csq)
public CharArrayWriter append(CharSequence csq, int start, int end)
public void close()
public void flush()
public void reset()
public int size()
public char[] toCharArray()
public String toString()
public void write(char[] c, int off, int len)
public void write(int c)
public void write(String str, int off, int len)
public void writeTo(Writer out)
CharArrayWriterEx1.java
package org.o7planning.chararraywriter.ex;
import java.io.CharArrayWriter;
import java.io.IOException;
public class CharArrayWriterEx1 {
public static void main(String[] args) throws IOException {
CharArrayWriter caw = new CharArrayWriter(1024);
caw.append("One").append(" ").append("Two");
caw.write(' ');
caw.write("Three");
char[] buffer = caw.toCharArray();
System.out.println(buffer);
}
}
Output:
One Two Three
Например, добавим 2 символьных массива, чтобы создать новый массив.
CharArrayWriterEx2.java
package org.o7planning.chararraywriter.ex;
import java.io.CharArrayWriter;
import java.io.IOException;
public class CharArrayWriterEx2 {
public static void main(String[] args) throws IOException {
char[] arr1 = "Hello ".toCharArray();
char[] arr2 = new char[] {'W', 'o', 'r', 'l', 'd', '!'};
char[] result = add(arr1, arr2);
System.out.println(result);
}
public static char[] add(char[] arr1, char[] arr2) {
if (arr1 == null) {
return arr2;
}
if (arr2 == null) {
return arr1;
}
CharArrayWriter writer = new CharArrayWriter();
try {
writer.write(arr1);
writer.write(arr2);
} catch (Exception e) {
// Never happened!
}
return writer.toCharArray();
}
}
Output:
Hello World!
CharArrayWriterEx3.java
package org.o7planning.chararraywriter.ex;
import java.io.CharArrayWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class CharArrayWriterEx3 {
public static void main(String[] args) throws IOException {
try {
String s = null;
s.length(); // NullPointerException
} catch (Exception e) {
String stackTrace = getStackTrace(e);
System.err.println(stackTrace);
}
}
public static String getStackTrace(Throwable t) {
CharArrayWriter caw = new CharArrayWriter();
PrintWriter pw = new PrintWriter(caw);
t.printStackTrace(pw);
pw.close();
return caw.toString();
}
}
Output:
java.lang.NullPointerException
at org.o7planning.chararraywriter.ex.CharArrayWriterEx3.main(CharArrayWriterEx3.java:13)