Lớp StringWriter trong java là một charater stream thu thập dữ liệu từ bộ đệm chuỗi, có thể được sử dụng để xây dựng một chuỗi. Lớp StringWriter kế thừa lớp Writer.
Trong lớp StringWriter, các tài nguyên hệ thống như các network socket và file không được sử dụng, do đó việc đóng StringWriter là không cần thiết.
Khai báo của lớp StringWriter
Dưới đây là khi báo của lớp Java.io.StringWriter:
public class StringWriter extends Writer
Nội dung chính
Các phương thức của lớp StringWriter
Phương thức | Mô tả |
---|---|
void write(int c) | Nó được sử dụng để ghi một ký tự. |
void write(String str) | Nó được sử dụng để ghi một chuỗi ký tự. |
void write(String str, int off, int len) | Nó được sử dụng để ghi một phần của một chuỗi. |
void write(char[] cbuf, int off, int len) | Nó được sử dụng để ghi phần của một mảng các ký tự. |
String toString() | Nó được sử dụng để trả về giá trị hiện tại của bộ đệm như một chuỗi. |
StringBuffer getBuffer() | Nó được sử dụng trả về bộ đệm chuỗi. |
StringWriter append(char c) | Nó được sử dụng để nối thêm ký tự được chỉ định tới writer. |
StringWriter append(CharSequence csq) | Nó được sử dụng để nối thêm chuỗi ký tự được chỉ định tới writer. |
StringWriter append(CharSequence csq, int start, int end) | ó được sử dụng để nối thêm dãy con của dãy ký tự được chỉ định vào writer. |
void flush() | Nó được sử dụng để xả (làm sạch) stream. |
void close() | Nó được sử dụng để đóng stream. |
Ví dụ về ghi file trong java với lớp StringWriter
Hãy xem ví dụ đơn giản của StringWriter sử dụng BufferedReader để ghi dữ liệu vào file "testout.txt".
import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringWriter; public class StringWriterExample { public static void main(String[] args) throws IOException { char[] arr = new char[512]; StringWriter writer = new StringWriter(); FileInputStream input = null; BufferedReader buffer = null; input = new FileInputStream("D://testout.txt"); buffer = new BufferedReader(new InputStreamReader(input, "UTF-8")); int x; while ((x = buffer.read(arr)) != -1) { writer.write(arr, 0, x); } System.out.println(writer.toString()); writer.close(); buffer.close(); } }
testout.txt:
Welcome to java.
Output:
Welcome to java.