/**
* 方法:文件下载
* @param file
* @param response
*/
public void download(File file, HttpServletResponse response){
// 如果文件存在,则进行下载
if (file.exists()) {
String fileName = file.getName();
// 配置文件下载
response.setHeader(“content-type”, “application/octet-stream”);
response.setContentType(“application/octet-stream”);
// 下载文件能正常显示中文
// 实现文件下载
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
OutputStream os = response.getOutputStream();
int i = bis.read(buffer);
while (i != -1) {
os.write(buffer, 0, i);
i = bis.read(buffer);
}
System.out.println("Download successfully!");
} catch (Exception e) {
System.out.println("Download failed!");
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}