获取输出流
1、字符输出流
在 Java 中,若要向客户端返回数据,可通过 HttpServletResponse 对象的 getWriter() 方法或 getOutputStream() 方法获得输出流,进而向客户端写入数据。其中,getWriter() 方法返回一个 PrintWriter 对象,可以用来向客户端输出文本内容。
PrintWriter 是一种通用的字符输出流,它可以将基础数据类型以文本形式输出到文件或 socket 中,使用非常方便。可以理解为它是 OutputStreamWriter 的增强版,支持了自动刷新缓冲区和提供println()方法直接输出字符串等功能。
使用 getWriter() 方法需要注意以下几点:
- 必须在使用输出流之前设置响应的 Content-Type 类型,否则可能会出现中文乱码的问题。
- 在使用完输出流后,必须关闭该输出流,否则可能会导致响应失败或卡死。
- getWriter() 方法只能输出文本,如果需要输出二进制数据,应该使用 ServletOutputStream(二进制)输出流进行输出。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.printl