public static void downLoadFile(HttpServletResponse response, String fileName, String filePath, boolean ifDelFile) {
try {
if (fileName != null) {
// 设置文件路径
File file = new File(filePath);
if (file.exists()) {
fileName = fileName.replace(" ", "_");
response.setContentType("application/octet-stream");
fileName = URLEncoder.encode(fileName, "UTF-8");
response.setHeader("Content-Disposition", "attachment;filename*=UTF-8''" + fileName);
byte[] buffer = new byte[1024];
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
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);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bis != null) {
try {
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (ifDelFile) {
file.delete();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}