public void download() {
try {
//得到文章的名称
String filename="cc.zip";
//设置文件MIME类型
this.getResponse().setContentType("application/octet-stream");
//设置Content-Disposition
this.getResponse().setHeader("Content-Disposition", "attachment;filename="+filename);
//读取目标文件,通过response将目标文件写到客户端
//获取目标文件的绝对路径
String filePath = this.getRequest().getSession().getServletContext().getRealPath("")+File.separator;
filePath=filePath.replace("\\", "/");
String path=filePath.substring(0, filePath.length()-1);
File file=new File(filePath+filename);
if (file.exists()) {
//读取文件
InputStream in = new FileInputStream(path+filename);
OutputStream out = this.getResponse().getOutputStream();
//写文件
int b;
while((b=in.read())!= -1)
{
out.write(b);
}
in.close();
out.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
-----------------------------------
java 读取本地文件 java读取本地文件并下载
https://blog.51cto.com/u_16099253/6522261