欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

下载网络文件的Java代码,网络java代码,import java.

来源: javaer 分享于  点击 17605 次 点评:223

下载网络文件的Java代码,网络java代码,import java.


import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;public class DownLoadUtil {    private static Logger logger = Logger.getLogger(DownLoadUtil.class);    /**     * 下载文件     * @param name 用户下载的文件名(*****.***)     * @param filePath 文件路径     * @param response      * @param fileType 文件类型     * @return     * @throws Exception     */    public static boolean downLoadFile(String name,String filePath,            HttpServletResponse response, String fileType)            throws Exception {        logger.info("start invoke downLoadFile,[filePath:"+filePath+" , fileType:"+fileType+"]");        File file = new File(filePath);        //设置文件类型        if("pdf".equals(fileType)){            response.setContentType("application/pdf");        }else if("xls".equals(fileType)){            response.setContentType("application/msexcel");        }else if("doc".equals(fileType)){            response.setContentType("application/msword");        }        response.setHeader("Content-Disposition", "attachment;filename=\""                + new String(name.getBytes("GB2312"), "ISO8859-1") + "\"");        //response.setHeader("Content-Disposition", "attachment;filename=\""+ URLEncoder.encode(name, "UTF-8")+ "\"");        response.setContentLength((int) file.length());        byte[] buffer = new byte[4096];// 缓冲区        BufferedOutputStream output = null;        BufferedInputStream input = null;        try {            output = new BufferedOutputStream(response.getOutputStream());            input = new BufferedInputStream(new FileInputStream(file));            int n = -1;            while ((n = input.read(buffer, 0, 4096)) > -1) {                output.write(buffer, 0, n);            }            output.flush();            response.flushBuffer();        } catch (Exception e) {            logger.error("exception when invoke downLoadFile",e);            throw e;        } finally {            if (input != null)                input.close();            if (output != null)                output.close();        }        logger.info("end invoke downLoadFile!");        return true;    }}
相关栏目:

用户点评