betacode

Руководство Java CharArrayWriter

  1. CharArrayWriter
  2. Examples

1. CharArrayWriter

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)

2. Examples

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)

Руководства Java IO

Show More