`
zcw_java
  • 浏览: 304008 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java下载文件格式

    博客分类:
  • Java
 
阅读更多
    public HttpServletResponse download(String path, HttpServletResponse response) {
    try {
    // path是指欲下载的文件的路径。
    File file = new File(path);
    // 取得文件名。
    String filename = file.getName();
    // 取得文件的后缀名。
    String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
    // 以流的形式下载文件。
    InputStream fis = new BufferedInputStream(new FileInputStream(path));
    byte[] buffer = new byte[fis.available()];
    fis.read(buffer);
    fis.close();
    // 清空response
    response.reset();
    // 设置response的Header
    response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
    response.addHeader("Content-Length", "" + file.length());
    OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
    response.setContentType("application/octet-stream");
    toClient.write(buffer);
    toClient.flush();
    toClient.close();
    } catch (IOException ex) {
    ex.printStackTrace();
    }
    return response;
    }
    public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
    // 下载本地文件
    String fileName = "Operator.doc".toString(); // 文件的默认保存名
    // 读到流中
    InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径
    // 设置输出的格式
    response.reset();
    response.setContentType("bin");
    response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
    // 循环取出流中的数据
    byte[] b = new byte[100];
    int len;
    try {
    while ((len = inStream.read(b)) > 0)
    response.getOutputStream().write(b, 0, len);
    inStream.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    public void downloadNet(HttpServletResponse response) throws MalformedURLException {
    // 下载网络文件
    int bytesum = 0;
    int byteread = 0;
    URL url = new URL("windine.blogdriver.com/logo.gif");
    try {
    URLConnection conn = url.openConnection();
    InputStream inStream = conn.getInputStream();
    FileOutputStream fs = new FileOutputStream("c:/abc.gif");
    byte[] buffer = new byte[1204];
    int length;
    while ((byteread = inStream.read(buffer)) != -1) {
    bytesum += byteread;
    System.out.println(bytesum);
    fs.write(buffer, 0, byteread);
    }
    } catch (FileNotFoundException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    //支持在线打开文件的一种方式
    public void downLoad(String filePath, HttpServletResponse response, boolean isOnLine) throws Exception {
    File f = new File(filePath);
    if (!f.exists()) {
    response.sendError(404, "File not found!");
    return;
    }
    BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
    byte[] buf = new byte[1024];
    int len = 0;
    response.reset(); // 非常重要
    if (isOnLine) { // 在线打开方式
    URL u = new URL("file:///" + filePath);
    response.setContentType(u.openConnection().getContentType());
    response.setHeader("Content-Disposition", "inline; filename=" + f.getName());
    // 文件名应该编码成UTF-8
    } else { // 纯下载方式
    response.setContentType("application/x-msdownload");
    response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());
    }
    OutputStream out = response.getOutputStream();
    while ((len = br.read(buf)) > 0)
    out.write(buf, 0, len);
    br.close();
    out.close();
    }

如果生成一个Excel并下载
//导出
    @RequestMapping("/outputExcelByActivity.ca")                      
    public void outputExcelByActivity(HttpServletRequest request,HttpServletResponse response,
                                      @RequestParam("ids") String ids) throws Exception{
        response.addHeader("Content-Disposition", "attachment;filename=" + "outputExcel.xls");
        response.setContentType("application/octet-stream");
        String[] nums = ids.split(",");
        Long[] ids1 = new Long[nums.length];
        for (int i = 0; i < nums.length; ++i) {
            ids1[i] = Long.valueOf(nums[i]);
        }
        List<MerchantOrder> list = activityManager.getOutputExcelOrder(ids1);
        OrderExcelHelper.export(response.getOutputStream(),list);
    }
分享到:
评论

相关推荐

    java文件上传和下载完整demo(不限制格式)

    完整的文件上传和下载,直接拷入自己的action中即可运行,实测有效。

    Java下载txt文件

    Java实现把字符串下载为txt文件的工具类。

    java导出SPSS格式文件

    Java导出SPSS格式文件是一项在数据处理领域常见的任务,主要应用于统计分析、社会科学和市场研究等领域。SPSS(Statistical Package for the Social Sciences)是一种强大的统计分析软件,它的数据文件通常具有.SAV...

    Java格式化文件模板

    java格式化文件,在myeclipse中点击windows--prefrence--输入code 导入格式化文件

    Java实现文件下载功能

    ### Java实现文件下载功能 在IT领域,尤其是Web开发中,文件下载是常见的需求之一,例如用户可能需要从服务器下载各种类型的文件,如文档、图片、压缩包等。本文将详细解析如何使用Java来实现这一功能,特别是针对...

    java读取word,pdf格式文档方法

    Java 读取 Word、PDF 格式文档方法 Java 是一种广泛应用的编程语言,对文档操作是其重要的应用场景之一。本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java ...

    java生成rtf文档,跟word文档差不多

    Java生成RTF文档是编程领域中一个常见的需求,尤其在自动化报告、数据导出或集成办公软件功能时。RTF(Rich Text Format)是一种通用格式,可以被多种文字处理程序如Microsoft Word支持,使得文件在不同平台间具有...

    Java下载m3u8文件列表中的TS文件到本地工具类

    1. 一键批量下载:只需启动程序,即可自动遍历并下载M3U8文件列表中的全部TS片段,极大地提升了工作效率,省去手动逐个下载的繁琐过程。 2. 智能排序:根据M3U8文件的顺序逻辑,精确无误地将各个TS文件按序下载,...

    java文件下载的工具类

    文件下载的工具类java代码,设置编码格式,避免下载中文乱码

    下载支持各种文件格式下载

    在Java编程语言中,实现一个支持各种文件格式下载的功能是一项常见的任务。这涉及到网络I/O、多线程、文件处理等多个技术领域。标题"下载支持各种文件格式下载"表明我们需要关注的是一个能够处理不同文件类型(如....

    java api中文文档

    Java API中文文档是Java开发者的重要参考资料,它详细阐述了Java平台标准版(Java SE)的各种类库、接口和方法。这两个版本,1.6和1.8,分别代表了Java发展过程中的两个重要里程碑。 首先,让我们关注"java_api_1.6...

    Java API文档中文版.zip

    这个“Java API文档中文版.zip”包含了一个.chm( Compiled HTML Help)文件,这是一种常见的帮助文档格式,方便用户离线浏览。在本文中,我们将深入探讨Java API的重要组成部分,以及如何利用这些文档进行开发。 ...

    java实现文件下载,并弹出保存对话框(Excel)

    在IT领域,特别是Java开发中,处理文件下载和与用户交互是常见的需求,尤其是在Web应用程序中。本文将深入探讨如何使用Java实现文件下载,并在客户端弹出保存对话框,特别聚焦于Excel文件的处理,这在企业级应用中尤...

    Java多个文件根据URL下载后打包zip导出.zip

    1. **网络请求**:首先,我们需要使用HTTP协议来从指定的URL下载文件。在Java中,我们可以使用`java.net.URL`和`java.net.URLConnection`类来建立与服务器的连接,并通过`java.io.InputStream`读取响应数据。另外,`...

    java访问https网址下载文件(含证书)

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在需要安全传输敏感数据或确保数据完整性时。这里我们将深入探讨如何使用Java 1.7版本处理这一过程,包括处理SSL证书。 首先,理解HTTPS(超文本...

    idea统一java格式化xml文件

    idea统一java格式化xml文件

    java获取文件编码格式

    通过webview打开html文件有可能编码不同就会乱码,所以要获取html文件的编码格式动态改变webview编码设置

    JAVA本地文件下载

    在文件下载的过程中,我们通常会利用`HttpServletResponse`来设置响应头信息,如文件类型、编码方式等,以便浏览器能够正确地解析并下载文件。 ##### 2.2 FacesContext `FacesContext` 是JavaServer Faces (JSF) ...

    .au格式Java音频下载

    在Java编程环境中,".au"格式的音频文件是一种常见的用于嵌入式应用的声音资源,尤其在开发Applet(Java小程序)时非常实用。这个标题暗示了我们正在讨论如何在Java项目中处理和播放.au格式的音频文件,这对于提升...

    JAVA jdk1.8中文文档

    3. **jdk1.8.chw**: 文件格式chw可能是一个Windows的帮助文件,内容可能与JDK 1.8相关,但具体信息不足,可能需要打开文件查看详细内容。 4. **《阿里巴巴Java开发手册》(终极版).pdf**: 这是阿里巴巴公司发布的Java...

Global site tag (gtag.js) - Google Analytics