Java.io.StringWriter类是一个字符流,它将其输出收集在字符串缓冲区中,然后可以使用它来构造字符串。关闭StringWriter无效。
Java.io.PrintWriter类将格式化的对象表示形式打印到文本输出流。
使用这两个类,您可以将堆栈跟踪转换为字符串。
示例
import java.io.PrintWriter;
import java.io.StringWriter;
public class StackTraceToString {
public static void main(String args[]) {
try {
int a[] = new int[2];
System.out.println("访问元素三:" + a[3]);
} catch (ArrayIndexOutOfBoundsException e) {
StringWriter writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer));
String myString = writer.toString();
System.out.println("Stack trace message ::"+myString);
}
}
}
输出结果Stack trace message ::java.lang.ArrayIndexOutOfBoundsException: 3
at lastRound.StackTraceToString.main(StackTraceToString.java:10)