package com.jason.test;
import java.io.ByteArrayOutputStream;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
public class Foo {
public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintWriter pw = new PrintWriter(baos);
try {
String[] arr = new String[]{"a", "b"};
System.out.println(arr[3]);
} catch (Exception e) {
e.printStackTrace(pw);
}
pw.flush();
System.out.println(baos.toString("utf-8"));
}
}
Exception 的 printStackTrace有一个重载的方法可以传入PrintWriter,如果在PrintWriter 中放入ByteArrayOutputStream,就可以把内容缓存在ByteArrayOutputStream,
当调用ByteArrayOutputStream 的toString 方法时就可以得到它缓存的内容
以下是ByteArrayOutputStream 的toString 方法
public synchronized String toString(String charsetName) throws UnsupportedEncodingException { return new String(buf, 0, count, charsetName); }