在工作中遇到的一个下载文件的功能,自己将其抽取出来,代码简单,希望能帮到大家,好了,话不多说,上代码!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
public void downloadFile(File file, String downName, HttpServletRequest request, HttpServletResponse response) { OutputStream out = null ; FileInputStream fin = null ; BufferedInputStream bin = null ; try { if (file.exists()) { String finalFileName = null ; String agent = request.getHeader( "User-Agent" ); boolean isMSIE = (agent != null && agent.indexOf( "MSIE" ) != - 1 ); if (isMSIE) { finalFileName = URLEncoder.encode(downName, "UTF8" ); } else { finalFileName = new String(downName.getBytes( "UTF-8" ), "ISO-8859-1" ); } response.setContentType( "application/x-msdownload" ); response.setHeader( "Content-Disposition" , "attachment; filename=" .concat(finalFileName)); out = response.getOutputStream(); fin = new FileInputStream(file); bin = new BufferedInputStream(fin); for ( int data = bin.read(); data > - 1 ; data = bin.read()) { out.write(data); } } else { } } catch (Exception e) { e.printStackTrace(); } finally { try { if (bin != null ) bin.close(); if (fin != null ) fin.close(); if (out != null ) out.close(); } catch (Exception e2) { e2.printStackTrace(); } } } |
以上就是本文JavaWeb文件下载的代码,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。