java实现下载文件

通过java代码实现下载功能,代码如下:(输入流和输出流实现)

public String download() {
response.setContentType("application/x-download");  
String filedownload = 文件路径(绝对路径); 
String filedisplay = 文件名称;
filedisplay = URLEncoder.encode(filedisplay,"UTF-8");(如果文件名称加密,使用此代码具有解密功能)
response.addHeader("Content-Disposition","attachment;filename=" + filedisplay);  
OutputStream outp = null;  
FileInputStream in = null;  
  try{  
       outp = response.getOutputStream();  
       in = new FileInputStream(filedownload);  
        byte[] b = new byte[1024];  
           int i = 0;  
         while((i = in.read(b)) > 0)  {  
              outp.write(b, 0, i);  
        }  
          outp.flush();  
     } catch(Exception e){  
        System.out.println("Error!");  
         e.printStackTrace();  
      }finally{  
           if(in != null)  
            {  
              try {
in.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
             in = null;  
           }  
          if(outp != null)  
           {  
               try {
outp.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
              outp = null;  
          }  
       } 
  return null;

}

还可以通过a链接的方式实现下载功能:
<a href="<%=basePath %>文件的相对路径?downloadfile=true&可传递参数">下载文件</a>

猜你喜欢

转载自blog.csdn.net/angel_hhm/article/details/79421334