admin 管理员组

文章数量: 1184232

JAVA读取指定路径下文件,实现模拟浏览器下载文件,核心代码如下:

/**
     * 浏览器下载
     *
     * @param sourceFilePath 源文件路径:"D:\\demo.txt"
     * @param fileName       下载生成的文件名
     * @param response       响应浏览器
     */
    public void browserDownload(String sourceFilePath, String fileName, HttpServletResponse response) {
        try (InputStream is = new FileInputStream(sourceFilePath);
             OutputStream os = response.getOutputStream();
             BufferedInputStream bis = new BufferedInputStream(is);
             BufferedOutputStream bos = new BufferedOutputStream(os)) {
            response.setContentType("application/octet-stream");
            response.setHeader("content-Disposition", "attachment;filename=" + new String(fileName.getBytes("GBK"), StandardCharsets.ISO_8859_1));
            int length = 0;
            byte[] temp = new byte[1024 * 10];
            while ((length = bis.read(temp)) != -1) {
                bos.write(temp, 0, length);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

本文标签: 浏览器 浏览器下 编程