ServletResponse接口只提供了两个流可供选择:ServletOutputStream用于输出字节,PrintWriter用于输出字符数据。
PrintWriter
PrintWriter writer = response.getWriter();
writer.println("some text and HTML");
用于把文本数据打印到一个字符流。尽管也可以把字符数据写至OutputStream,但PrintWriter流专门设计用于处理字符数据。
OutputStream
ServletOutputStream out = response.getOutputStream();
out.write(aByteArray);
用于其他的任何内容。
PrintWriter实际上“包装“ 了ServletOutputStream。也就是说,PrintWriter有ServletOutputStream的一个引用,而且会把调用委托给ServletOutputStream。