`
java_fei
  • 浏览: 21625 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JAVA实现文件下载

    博客分类:
  • JAVA
阅读更多
//使用servlet页面进行操作
package com.download;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class FileDownServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final String CONTENT_TYPE = "text/html; charset=utf-8";
    /**
     * 使用doGet方法
     */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
    request.setCharacterEncoding("utf-8");
        response.setContentType(CONTENT_TYPE);
        //得到下载文件的名字
        String filename=request.getParameter("filename");
        //创建file对象
        File file=new File("E://temp//"+filename);
        //设置response的编码方式
        response.setContentType("application/x-msdownload");
        //写明要下载的文件的大小
        response.setContentLength((int)file.length());
        //发送到客户端的文章
        response.setHeader("Content-Disposition","attachment;filename="+filename);       
        //读出文件到i/o流
        FileInputStream fis=new FileInputStream(file);
        BufferedInputStream buff=new BufferedInputStream(fis)
        byte [] b=new byte[1024];//相当于我们的缓存
        long k=0;//该值用于计算当前实际下载了多少字节
        //从response对象中得到输出流,准备下载
        OutputStream myout=response.getOutputStream();
        //开始循环下载
        while(k<file.length()){
            int j=buff.read(b,0,1024);
            k+=j;
            //将b中的数据写到客户端的内存
            myout.write(b,0,j);
        }
        //将写入到客户端的内存的数据,刷新到磁盘
        myout.flush();
    }
}
//html页面
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>download.xhtml</title>
<meta http-equiv="keywords" content="enter,your,keywords,here" />
<meta http-equiv="description" content="A short description of this page." />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

<!--<link rel="stylesheet" type="text/css" href="styles.css">-->
</head>
<body>
<p>
<a href=fileDownServlet.do?filename=cc.doc>5.1下载书--java</a>
</p>
</body>
</html>
//web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <servlet>
    <servlet-name>FileDownServlet</servlet-name>
    <servlet-class>com.download.FileDownServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>FileDownServlet</servlet-name>
    <url-pattern>/fileDownServlet.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>download.html</welcome-file>
  </welcome-file-list>
 
</web-app>
分享到:
评论

相关推荐

    Java实现文件下载

    以上是Java实现文件下载的基本步骤和注意事项。在提供的"Java实现HTTP文件下载_(转载).txt"文件中,可能包含了具体的示例代码或进一步的解释。通过阅读和理解这份文档,开发者可以更好地掌握Java文件下载的实现技巧...

    JAVA实现文件下载的代码

    本篇文章将深入探讨如何使用Java实现文件下载,并基于提供的"JAVA实现文件下载的代码.txt"文件进行解析和解释。 首先,我们需要理解文件下载的基本流程。当用户在浏览器中点击一个下载链接时,请求会被发送到服务器...

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

    本文将深入探讨如何使用Java实现文件下载,并在客户端弹出保存对话框,特别聚焦于Excel文件的处理,这在企业级应用中尤为常见。 ### Java实现文件下载的关键步骤 1. **设置HTTP响应头**:为了触发浏览器的下载行为...

    ajax实现java文件下载

    在现代Web应用中,用户对交互性和...总结起来,Ajax实现Java文件下载是一种提高用户体验的有效手段,通过前后端的协同工作,实现了无刷新的文件下载功能。理解并掌握这一技术,对于提升Web应用的交互性具有重要意义。

    java使用itext实现pdf文件下载

    现在,我们转向主题,即如何在Java中实现PDF文件的下载。有两种主要的方式: 1. **通过系统路径下载**:这种方式适用于后台生成PDF后,直接保存到服务器的某个路径,然后提供URL给用户下载。以下是一个简单的示例:...

    java利用oss实现下载功能

    "java利用oss实现下载功能" Java是当前最流行的编程语言之一,而 OSS(Object Storage Service)是阿里云提供的一种对象存储服务,通过使用Java和OSS可以实现下载功能。本文将详细介绍如何使用Java和OSS实现下载...

    java实现模板下载功能

    ### Java 实现模板下载功能详解 #### 一、概述 在Web应用开发中,模板下载功能是常见需求之一,尤其在报表系统、数据导出等场景下应用广泛。本篇文章将详细阐述如何利用Java技术栈实现一个简单的模板下载功能。 #...

    java实现文件浏览器

    用JAVA语言实现的文件浏览器,类似于资源管理器的功能;

    java 实现 word 文档的在线预览

    这项功能可以让用户无需下载原始文件就能查看文档内容,提高工作效率并减少服务器存储压力。本资源提供的代码和jar包正是为了解决这一问题。 首先,我们要理解Java实现Word在线预览的基本原理。这通常涉及到将Word...

    java代码实现文件上传和下载

    在java代码中实现文件的上传和下载,通过页面的file文件上传到java代码段,获取文件的大小和名字

    扫描二维码下载 JAVA实现20190403

    本文将深入探讨如何使用JAVA实现扫描二维码自动下载对应客户端类型的APP功能。 首先,我们需要理解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,存储的数据可以是网址、文字、图片、联系人...

    JAVA实现的BT下载客户端

    本人用JAVA写的一个BT下载客户端 是本人的毕业设计 界面用SWT实现 后台引用了国外著名的Vuze开源软件的后台 能实现下载上传,种子的解析和生成 软件的功能不是很全 但是本人一手摸索着写成的东西 费了不少心思 是...

    java实现pdf上传,下载,在线预览,删除,修改等功能

    这里我们将深入探讨这些功能的实现,并结合标签`java xpdf java实现pdf`来讨论XPDF库在Java中的应用。 1. **PDF上传**: PDF上传通常涉及用户通过Web界面或API接口提交PDF文件。Java中,可以使用Apache Commons ...

    java实现简单的ftp文件下载

    在`easyfile`这个压缩包文件中,可能包含了一个简单的Java实现,展示了如何进行上述步骤。通过阅读和理解代码,你可以更深入地了解FTP文件下载的实现细节。记住,实践是学习的最佳途径,尝试自己动手编写代码并运行...

    java实现cos上传与下载

    Java实现COS(Cloud Object Storage)上传与下载是云计算服务中的常见操作,主要涉及对象存储的概念、Java SDK的使用以及文件I/O操作。COS通常由云服务提供商提供,用于存储大量的非结构化数据,如图片、视频、文档...

    Java实现FTP批量大文件上传下载.pdf

    Java实现FTP批量大文件上传下载 一、Java FTP客户端库的选择 在选择Java FTP客户端库时,需要考虑多个因素,例如性能、安全性、可靠性等。当前有多种FTP客户端库可供选择,例如J-FTP、SimpleFTP、FTPClient等。每...

    Java 利用多线程实现文件的分片下载

    大文件的快速下载,经测试在100M带宽的网络下,下载一个40M的文件,不超过两秒钟,当然还得根据自己电脑的配置来讲。 其他说明: 文件如果特别小,而自己网络又非常好的情况下,不建议使用线程池进行下载,因为...

    Java 实现的断点下载

    Java 断点下载技术是Java编程中用于网络文件下载的一种高效方法,特别是在处理大文件时,它允许用户中断和恢复下载过程。断点下载的基本原理是通过保存已下载部分的信息,如下载的总长度、已下载的字节数以及当前...

    迅雷下载接口java实现

    本话题将深入探讨如何使用Java实现迅雷下载接口,这是一项利用迅雷的动态链接库(DLL)和C++开放接口来提升下载效率和稳定性的技术实践。 首先,我们需要了解迅雷的C++开放接口。迅雷为了方便开发者集成其下载功能...

Global site tag (gtag.js) - Google Analytics