devstory

Le Tutoriel de Java CharArrayWriter

View more Tutorials:

Site d'apprentissage des langues gratuit:
Suivez-nous sur notre fanpage pour recevoir des notifications chaque fois qu'il y a de nouveaux articles. Facebook

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)

View more Tutorials: