您的位置:首页 > 编程语言 > Java开发

java以流的形式输出文件

2017-09-28 17:56 381 查看
    public void downProcessFile(HttpServletRequest request,HttpServletResponse response,String path){

        try {

            File file = new File(path);

            String filename = file.getName();// 获取日志文件名称

            InputStream fis = new BufferedInputStream(new FileInputStream(path));

            byte[] buffer = new byte[fis.available()];

            fis.read(buffer);

            fis.close();

            response.reset();

            // 先去掉文件名称中的空格,然后转换编码格式为utf-8,保证不出现乱码,这个文件名称用于浏览器的下载框中自动显示的文件名

            response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.replaceAll(" ", "").getBytes("utf-8"),"iso8859-1"));

            response.addHeader("Content-Length", "" + file.length());

            OutputStream os = new BufferedOutputStream(response.getOutputStream());

            response.setContentType("application/octet-stream");

            os.write(buffer);// 输出文件

            os.flush();

            os.close();

        } catch (Exception e) {

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: