Trong hướng dẫn này, chúng ta sẽ tìm hiểu về StringWriter trong Java và các lớp con của nó với sự trợ giúp của các ví dụ.

lớp StringWriter của gói java.io có thể được sử dụng để ghi dữ liệu (bằng ký tự) vào bộ đệm chuỗi.

Nó mở rộng lớp trừu tượng Writer.

Lưu ý : Trong Java, bộ đệm chuỗi được coi là một chuỗi có thể thay đổi. Đó là, chúng ta có thể sửa đổi bộ đệm chuỗi. Để chuyển đổi từ bộ đệm chuỗi sang chuỗi, chúng ta có thể sử dụng phương thức toString().

1. Tạo một StringWriter

Để tạo một StringWriter, trước tiên chúng ta phải nhập gói java.io.StringWriter. Khi chúng ta nhập gói ở đây là cách chúng ta có thể tạo trình ghi chuỗi.

// Creates a StringWriter
StringWriter output = new StringWriter()

Ở đây, chúng ta đã tạo trình ghi chuỗi với dung lượng bộ đệm chuỗi mặc định. Tuy nhiên, chúng ta cũng có thể chỉ định dung lượng bộ đệm chuỗi.

// Creates a StringWriter with specified string buffer capacity
StringWriter output = new StringWriter(int size);

Đây, kích thước chỉ định dung lượng của bộ đệm chuỗi.

2. Các phương thức của StringWriter

lớp StringWriter cung cấp triển khai cho các phương thức khác nhau trình bày trong lớp Writer.

2.1 phương thức viết

  • write() – ghi một ký tự vào trình ghi chuỗi
  • write(char[] array) – ghi các ký tự từ mảng được chỉ định vào trình viết
  • write(String data) – ghi chuỗi được chỉ định cho người viết

2.2 Ví dụ: Java StringWriter

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/

import java.io.StringWriter;

public class Main {
  public static void main(String[] args) {

    String data = "This is the text in the string.";

    try {
      // Create a StringWriter with default string buffer capacity
      StringWriter output = new StringWriter();

      // Writes data to the string buffer
      output.write(data);

      // Prints the string writer
      System.out.println("Data in the StringWriter: " + output);

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Đầu ra

Data in the StringWriter: This is the text in the string.

Trong ví dụ trên, chúng ta đã tạo một trình viết chuỗi có tên đầu ra.

StringWriter output = new StringWriter();

Sau đó, chúng ta sử dụng phương thức write() để ghi dữ liệu chuỗi vào bộ đệm chuỗi.

Lưu ý : Chúng ta đã sử dụng phương thức toString() để lấy dữ liệu đầu ra từ bộ đệm chuỗi ở dạng chuỗi.

2.3 Truy cập dữ liệu từ StringBuffer

  • getBuffer() – trả về dữ liệu có trong bộ đệm chuỗi
  • toString() – trả về dữ liệu có trong bộ đệm chuỗi dưới dạng một chuỗi

Ví dụ,

import java.io.StringWriter;

public class Main {
  public static void main(String[] args) {

    String data = "This is the original data";

    try {
      // Create a StringWriter with default string buffer capacity
      StringWriter output = new StringWriter();

      // Writes data to the string buffer
      output.write(data);

      // Returns the string buffer
      StringBuffer stringBuffer = output.getBuffer();
      System.out.println("StringBuffer: " + stringBuffer);

      // Returns the string buffer in string form
      String string = output.toString();
      System.out.println("String: " + string);

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Đầu ra

StringBuffer: This is the original data
String: This is the original data

Ở đây chúng ta đã sử dụng phương thức getBuffer() để lấy dữ liệu có trong bộ đệm chuỗi. Và phương thức cũng toString()trả về dữ liệu có trong bộ đệm chuỗi dưới dạng một chuỗi.

2.4 phương thức close()

Để đóng trình ghi chuỗi, chúng ta có thể sử dụng phương thức close().

Tuy nhiên, phương thức close()không có hiệu lực trong StringWriter lớp. Chúng ta có thể sử dụng các phương thức của lớp này ngay cả sau khi phương thức close()được gọi.

3. Các phương thức khác của StringWriter

phương thứcSự miêu tả
flush()buộc ghi tất cả dữ liệu có trong trình ghi vào bộ đệm chuỗi
append()chèn ký tự được chỉ định cho người viết hiện tại

Để tìm hiểu thêm, hãy truy cập Java StringWriter (tài liệu Java chính thức) .

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Nguồn và Tài liệu tiếng anh tham khảo:

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!