openplanning

Hướng dẫn và ví dụ Java CharArrayWriter

  1. CharArrayWriter
  2. Examples

1. CharArrayWriter

CharArrayWriter là một lớp con của Writer. Đúng với cái tên, CharArrayWriter được sử dụng để ghi các ký tự vào một mảng ký tự mà nó quản lý theo phong cách của một Writer.
Các ký tự được ghi vào CharArrayWriter sẽ được gán vào các phần tử của mảng ký tự mà CharArrayWriter đang quản lý:
Khi số lượng ký tự ghi vào CharArrayWriter lớn hơn độ dài của mảng, CharArrayWriter sẽ tạo một mảng mới với độ dài lớn hơn và copy các ký tự từ mảng cũ sang.
Constructors
public CharArrayWriter()  

public CharArrayWriter​(int initialSize)
  • Constructor CharArrayWriter(int) tạo ra một đối tương CharArrayWriter với mảng ký tự có kích thước ban đầu chỉ định.
  • Constructor CharArrayWriter() tạo ra một đối tượng CharArrayWriter với mảng ký tự có kích thước mặc định (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
Ví dụ cộng 2 mảng ký tự để tạo ra một mảng mới.
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)

Các hướng dẫn Java IO

Show More