设置流 相关的坐标 — 实现流的复制(将输入流【本地文件先输入到内存】 输入到内容,然后将该流输出到浏览器)

package com.itheima.web.reponse;import org.apache.commons.io.IOUtils;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.FileInputStream;import java.io.IOException;import java.io.PrintWriter;/*** 响应字节数据: 设置字节数据的响应体*/@WebServlet("/resp4")public class ResponseDemo4 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {// 1. 读取文件(用file类的输入流)FileInputStream fis = new FileInputStream("C:\\Users\\aufs\\Desktop\\1.jpg");// 2. 获取response字节输出流ServletOutputStream os = resp.getOutputStream(); // 这个输出流是输出到浏览器页面中// 3. 完成流的copy// byte[] buff = new byte[1024]; // 定义一个桶,桶的大小为1个Kb// int len = 0;// while ((len = fis.read(buff)) != -1){// os.write(buff,0,len); // 读到多少,写多少// }IOUtils.copy(fis,os); // 将输入流和输出流传入进去// 关闭输入流(输入流由服务器来关)fis.close();}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req,resp);}}
