Response之文件复制案例(从servlet写回给客户端:本地流+网络流)

@WebServlet(urlPatterns = "/copyFile")
public class CopyFile extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*
        *
        * response响应数据,也可以使用字节输出流getOutPutStream() 得到字节输出流对象来写数据
        *
        *
        * 文件复制:一读(本地)一写(客户端)
        *   读写本地文件(硬盘上)必须使用自己创建的流对象(本地流)
        *   写回给客户端,两者之间进行交互,必须使用网络流,即服务器提供的response和request对象中提供的流对象
        *
        *
        *
        * */
        //获取本地文件的绝对路径
        String path = getServletContext().getRealPath("1.jpg");

        //获取本地流的字节输入流对象
        FileInputStream fs = new FileInputStream(new File(path));

        //获取网络字节输出流对象
        ServletOutputStream os = response.getOutputStream();

        //读文件,写文件
        byte[] bytes = new byte[1024];
        int len=0;
        while ((len=fs.read(bytes))!=-1){
            os.write(bytes,0,len);
        }

        fs.close();

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值