openplanning

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

Xem thêm các chuyên mục:

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

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)

Xem thêm các chuyên mục: