devstory

Le Tutoriel de Java CharArrayWriter

  1. CharArrayWriter
  2. Examples

1. CharArrayWriter

CharArrayWriter est une sous-classe de Writer. Comme son nom l'indique, CharArrayWriter est utilisé pour écrire les caractères dans un tableau de caractères qu'il gère sous le style d'un Writer.
Les caractères écrits dans le CharArrayWriter seront affectés aux éléments du tableau de caractères que le CharArrayWriter gère
Lorsque le nombre de caractères écrits dans le CharArrayWriter est supérieur à la longueur du tableau, CharArrayWriter crée un nouveau tableau avec une longueur plus longue et copie les caractères de l'ancien tableau.
Constructors
public CharArrayWriter()  

public CharArrayWriter​(int initialSize)
  • Le constructeur CharArrayWriter(int) crée un objet CharArrayWriter avec un tableau de caractères qui a une taille initiale spécifiée.
  • Le constructeur CharArrayWriter() crée un objet CharArrayWriter avec un tableau de caractères dont la taille par défaut est (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
Par exemple, ajouter 2 tableaux de caractères pour créer un nouveau tableau.
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)

Tutoriels Java IO

Show More