Trong hướng dẫn này, chúng ta sẽ tìm hiểu về Java StringWriter và các lớp con của nó với sự trợ giúp của các ví dụ.
Các StringWriter
lớp của java.io
gói 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 toString()
phương thức.
Tạo một StringWriter
Để tạo một StringWriter
, java.io.StringWriter
trước tiên chúng ta phải nhập gói. Khi chúng tôi nhập gói ở đây là cách chúng tôi có thể tạo trình ghi chuỗi.
// Creates a StringWriter StringWriter output = new StringWriter();
Ở đây, chúng tôi đã 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.
Các phương thức của StringWriter
Các StringWriter
lớp học cung cấp triển khai cho các phương pháp khác nhau trình bày trong Writer
lớp.
viết phương pháp
write()
- ghi một ký tự vào trình ghi chuỗiwrite(char() array)
- ghi các ký tự từ mảng được chỉ định vào trình viếtwrite(String data)
- ghi chuỗi được chỉ định cho người viết
Ví dụ: Java StringWriter
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
Dữ liệu trong StringWriter: Đây là văn bản trong chuỗi.
Trong ví dụ trên, chúng ta đã tạo một trình viết chuỗi có tên là đầu ra.
StringWriter output = new StringWriter();
Sau đó, chúng tôi sử dụng write()
phương thức để ghi dữ liệu chuỗi vào bộ đệm chuỗi.
Lưu ý : Chúng tôi đã sử dụng toString()
phương thức để lấy dữ liệu đầu ra từ bộ đệm chuỗi ở dạng chuỗi.
Truy cập dữ liệu từ StringBuffer
getBuffer()
- trả về dữ liệu có trong bộ đệm chuỗitoString()
- 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: Đây là dữ liệu gốc Chuỗi: Đây là dữ liệu gốc
Ở đây chúng tôi đã sử dụng getBuffer()
phương thức để lấy dữ liệu hiện diện 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.
phương thức close ()
Để đóng trình ghi chuỗi, chúng ta có thể sử dụng close()
phương thức.
Tuy nhiên, close()
phương thức 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 close()
phương thức được gọi.
Các phương thức khác của StringWriter
phương pháp | Sự 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).