package com.Rong.servlet;
import javax.servlet.servlet exception;
import javax.servlet.servlet output stream;
import javax.servlet.http.http servlet;
import javax.servlet.http.http servlet request;
import javax.servlet.http.http无servlet轮询;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
//文件下载
publicclassfiledownextendshttp servlet {
@Override
protectedvoiddoget (httpservletrequestreq,HttpServletResponse resp ) throws ServletException,IOException {
//1 .获取下载文件的路径
string path=' d ://projects//idea projects//Java we B- 01-servlet//response//target//classes//sea/jea.Java
//2 .获取下载的文件名
string filename=path.substring (path.lastindexof ('/' )1);
//3 .允许浏览器支持文件下载。 中文名称可能会乱码(因此,将文件名转换为UTF-8格式) )。
resp.setheader (' content-disposition ',' attachment; filename=' urlencoder.encode (filename,' UTF-8 ' );
//4 .获取下载的文件的输入流
fileinputstreamin=new file inputstream (path;
//5 .创建缓冲区
int len=0;
byte[] buffer=new byte[1024];
//6 .获取输出流对象
servletoutputstreamout=resp.get output stream (;
//7 .将文件输出流写入缓冲区,然后使用输出流将缓冲区内容写入客户端!
wile () (len=in.read ) (buffer ) )0) ) 0
out.write(buffer,0,len );
}
in.close (;
out.close (;
}
@Override
protectedvoiddopost (httpservletrequestreq,HttpServletResponse resp ) throws ServletException,IOException {
doget(req,resp );
}
}