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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值