Hướng dẫn và ví dụ Java StringWriter
1. StringWriter
StringWriter là một lớp con của Writer, nó quản lý một đối tượng StringBuffer. Các ký tự được ghi vào StringWriter sẽ được nối (append) vào đối tượng StringBuffer mà nó đang quản lý.
Lớp StringWriter không sử dụng các hoạt động I/O hoặc Network (mạng) vì vậy bạn có thể sử dụng nó mà không cần đóng nó lại.
StringWriter constructor
StringWriter()
StringWriter(int initialSize)
Ngoài các phương thức được thừa kế từ lớp cha của nó, StringWriter cũng có thêm một vài phương thức đáng chú ý của riêng nó, bao gồm:
String toString() | Trả về String của buffer. |
StringBuffer getBuffer() | Trả về đối tượng StringBuffer mà StringWriter hiện tại đang quản lý. |
StringWriter append(
char c) | Nối một ký tự vào buffer, giống như gọi phương thức StringWriter.write(char), nhưng phương thức này trả về đối tượng StringWriter hiện tại, điều này cho phép gọi tiếp một phương thức khác của StringWriter thay vì kết thúc bởi dấu chấm phẩy ( ; ) |
StringWriter append(
CharSequence csq) | Giống với phương thức StringWriter.write(CharSequence), nhưng trả về đối tượng StringWriter hiện tại. |
StringWriter append(
CharSequence csq, int start, int end) | Giống với phương thức StringWriter.write(CharSequence,int,int), nhưng trả về đối tượng StringWriter hiện tại. |
2. Examples
StringWriterEx1.java
package org.o7planning.stringwriter.ex;
import java.io.StringWriter;
public class StringWriterEx1 {
public static void main(String[] args) {
StringWriter sw = new StringWriter();
sw.write("Java Tutorial");
sw.append("\n").append("C# Tutorial").append("\n").append("Python Tutorial");
String s = sw.toString();
System.out.println(s);
}
}
Output:
Java Tutorial
C# Tutorial
Python Tutorial
Thông thường khi một ngoại lệ (Exception) xẩy ra, bạn thường nhìn thấy thông tin "Stack Trace" được in ra màn hình Console, làm sao có được nội dung này như một String?
StringWriterEx3.java
package org.o7planning.stringwriter.ex;
import java.io.PrintWriter;
import java.io.StringWriter;
public class StringWriterEx3 {
public static void main(String[] args) {
try {
int a = 100/0; // Exception occur here
} catch(Exception e) {
String s = getStackTrace(e);
System.err.println(s);
}
}
public static String getStackTrace(Throwable t) {
StringWriter writer = new StringWriter();
// Create PrintWriter via PrintWriter(Writer) constructor.
PrintWriter pw = new PrintWriter(writer);
// Call method: Throwable.printStackTrace(PrintWriter)
t.printStackTrace(pw);
pw.close();
String s = writer.getBuffer().toString();
return s;
}
}
Output:
java.lang.ArithmeticException: / by zero
at org.o7planning.stringwriter.ex.StringWriterEx5.main(StringWriterEx5.java:10)
GetStackTraceEx.java
package org.o7planning.printwriter.ex;
import java.io.PrintWriter;
import java.io.StringWriter;
public class GetStackTraceEx {
public static void main(String[] args) {
try {
int a = 100/0; // Exception occur here
} catch(Exception e) {
String s = getStackTrace(e);
System.err.println(s);
}
}
public static String getStackTrace(Throwable t) {
StringWriter stringWriter = new StringWriter();
// Create PrintWriter via PrintWriter(Writer) constructor.
PrintWriter pw = new PrintWriter(stringWriter);
// Call method: Throwable.printStackTrace(PrintWriter)
t.printStackTrace(pw);
pw.close();
String s = stringWriter.getBuffer().toString();
return s;
}
}
Output:
java.lang.ArithmeticException: / by zero
at org.o7planning.printwriter.ex.GetStackTraceEx.main(GetStackTraceEx.java:10)
Các hướng dẫn Java IO
- Hướng dẫn và ví dụ Java CharArrayWriter
- Hướng dẫn và ví dụ Java FilterReader
- Hướng dẫn và ví dụ Java FilterWriter
- Hướng dẫn và ví dụ Java PrintStream
- Hướng dẫn và ví dụ Java BufferedReader
- Hướng dẫn và ví dụ Java BufferedWriter
- Hướng dẫn và ví dụ Java StringReader
- Hướng dẫn và ví dụ Java StringWriter
- Hướng dẫn và ví dụ Java PipedReader
- Hướng dẫn và ví dụ Java LineNumberReader
- Hướng dẫn và ví dụ Java PushbackReader
- Hướng dẫn và ví dụ Java PrintWriter
- Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
- Hướng dẫn sử dụng luồng vào ra ký tự trong Java
- Hướng dẫn và ví dụ Java BufferedOutputStream
- Hướng dẫn và ví dụ Java ByteArrayOutputStream
- Hướng dẫn và ví dụ Java DataOutputStream
- Hướng dẫn và ví dụ Java PipedInputStream
- Hướng dẫn và ví dụ Java OutputStream
- Hướng dẫn và ví dụ Java ObjectOutputStream
- Hướng dẫn và ví dụ Java PushbackInputStream
- Hướng dẫn và ví dụ Java SequenceInputStream
- Hướng dẫn và ví dụ Java BufferedInputStream
- Hướng dẫn và ví dụ Java Reader
- Hướng dẫn và ví dụ Java Writer
- Hướng dẫn và ví dụ Java FileReader
- Hướng dẫn và ví dụ Java FileWriter
- Hướng dẫn và ví dụ Java CharArrayReader
- Hướng dẫn và ví dụ Java ByteArrayInputStream
- Hướng dẫn và ví dụ Java DataInputStream
- Hướng dẫn và ví dụ Java ObjectInputStream
- Hướng dẫn và ví dụ Java InputStreamReader
- Hướng dẫn và ví dụ Java OutputStreamWriter
- Hướng dẫn và ví dụ Java InputStream
- Hướng dẫn và ví dụ Java FileInputStream
Show More
- Hướng dẫn lập trình Java Servlet/JSP
- Các hướng dẫn Java New IO
- Các hướng dẫn Spring Cloud
- Các hướng dẫn Java Oracle ADF
- Các hướng dẫn Java Collections Framework
- Java cơ bản
- Các hướng dẫn Java Date Time
- Các thư viện mã nguồn mở Java
- Các hướng dẫn Java Web Services
- Các hướng dẫn Struts2 Framework
- Các hướng dẫn Spring Boot