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

(转)文件下载

 
阅读更多
/使用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 = 3802441299211999382L;
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();
        myout.close();
    }
}
//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>
分享到:
评论
1 楼 endual 2013-03-02  
普通的一个流下载

相关推荐

    Base64转二进制文件,Base64 To File

    提供的文件列表中,`Base64_Convert.exe`很可能是一个执行程序,用于实现这个功能,即读取包含Base64编码的文本文件(如`Base64转二进制文件.b64`),并将其转换为二进制文件。`Base64转二进制文件.docx`和`Base64转...

    txt文本文件转多种格式下载

    "txt文本文件转多种格式下载"的主题涉及到了文本文件的灵活性和适应性,以及如何根据需求将其转换为其他更复杂的或特定用途的文件格式。这里我们将深入探讨文本文件、TXT格式以及常见的转换方法。 TXT文件是最基本...

    out文件转hex文件方法

    ### OUT文件转HEX文件方法 #### 工具介绍 在进行.OUT文件转换为.HEX文件的过程中,我们主要依赖的是TI(Texas Instruments)公司提供的一个名为`hex2000`的工具。这个工具能够帮助我们将编译链接后生成的.OUT格式的...

    python json文件转txt文件,批处理json文件转换成一个txt文件

    标题中的"python json文件转txt文件,批处理json文件转换成一个txt文件",指的是使用Python编写脚本来读取多个JSON文件,解析其内容,并将数据写入到TXT文件中。这通常涉及到以下步骤: 1. **导入必要的库**:首先...

    (亲测有效)喜马拉雅xm文件转mp3/m4a,支持批量转换格式、批量下载

    在提供的压缩包文件中包含的"喜马拉雅xm转换mp3工具+批量下载器"就是这样的工具。这类工具一般会提供用户友好的界面,允许用户导入多个XM文件,然后统一设定输出格式和质量参数。批量转换的优点在于可以节省大量手动...

    txt文件转换为bin文件

    在IT领域,文本文件(如.txt)和二进制文件(如.bin)是两种常见的数据存储格式,它们各自有着不同的用途和特点。本教程将详细解释如何将一个TXT文件转换成BIN文件,以及这种转换背后的基本概念。 首先,我们要了解...

    solidworks转CAD配置文件.rar

    《SolidWorks转CAD配置文件详解》 在机械设计领域,SolidWorks是一款广泛使用的三维建模软件,而CAD(Computer-Aided Design)则是通用的设计绘图工具。为了在不同软件之间进行无缝协作,需要将SolidWorks的工程图...

    DBC文件转EXCEL文件

    DBC文件是一种数据库通讯格式,主要用于存储汽车ECU(电子控制单元)中的数据,例如汽车的传感器数据、控制信号等。这种文件格式在汽车行业非常常见,主要用于调试和数据分析。转换DBC文件到Excel文件是为了让非专业...

    nc文件转txt

    【标题】:NC文件转TXT详解 在处理气象、海洋、气候等科学数据时,我们经常遇到NC(NetCDF)文件格式。这种文件格式是一种自我描述的、机器无关的、可扩展的数据存储格式,用于存储多维数组。然而,有时我们需要将...

    PDB文件转TXT文件工具

    这些文件可能来自于编译后的软件项目,或者可以从微软的符号服务器下载,用于调试系统或第三方库。获取PDB文件后,按照以下步骤操作: 1. **运行工具**:找到"PDB-TXT.exe",双击运行。如果需要在命令行环境中使用...

    java 文件转 Base64 工具类

    java 文件转 Base64 工具类 java 文件转 Base64 工具类java 文件转 Base64 工具类 java 文件转 Base64 工具类java 文件转 Base64 工具类 java 文件转 Base64 工具类java 文件转 Base64 工具类 java 文件转 Base64 ...

    文件目录结构转文本网页(把文件列表转成html格式) V4.0绿色版

    《文件目录结构转文本网页:技术解析与应用》 在现代数字生活中,管理和呈现大量文件目录结构变得日益重要。为了方便浏览和分享这些信息,将文件目录结构转化为文本网页,尤其是HTML格式,成为了一种高效的方式。...

    把 XDF 文件转换为PDF文件

    在IT领域,文件格式转换是一项常见的任务,尤其在处理不同应用程序间的数据交换时。本教程将详细介绍如何将XDF...在IT领域,掌握不同文件格式的互转技巧是非常有用的,能帮助你在工作中更加高效地处理各种数据。

    Kml文件转换成EXCEL、MIF、MID文件

    Kml文件转换成EXCEL、MIF、MID文件是一个涉及到地理信息数据处理的过程。Kml(Keyhole Markup Language)是Google开发的一种用于存储和展示地理数据的XML格式,广泛应用于地图服务,如Google Earth和Google Maps。而...

    winform c# pdf文件转换doc文件和 png 图片格式 PDF转word 和图片

    借助第三方Aspose.Pdf.dll及Spire.Pdf.dll 对pdf文件进行处理,可以把pdf文件转换成doc 或者docx png等格式,通过代码大家可以进行自己重新开发,核心代码已经编写完成,下载后可以直接运行进行pdf文件转换 ...

    可以把delphi的dcu文件转换为pas文件的工具!

    1. 解压下载的压缩包。 2. 找到并运行`Dcu2Pas.exe`应用程序。 3. 在命令行界面中,输入要转换的DCU文件的完整路径,例如:`Dcu2Pas test.dcu`。 4. 如果一切正常,工具将生成对应的PAS文件,文件名与原始DCU文件...

    任意文件转换成C语言数组

    在IT行业中,有时候我们需要将小文件直接嵌入到程序中,以便在运行时可以方便地访问这些数据。标题提到的“任意文件转换成C语言数组”就是解决这类问题的一个方法。这种方法允许我们将文件内容编码为C语言数组,使得...

    hex转换成bin文件的工具

    在IT行业中,尤其是在嵌入式系统和单片机编程领域,常常需要进行不同格式的数据转换,其中就包括将十六进制(HEX)文件转换为二进制(BIN)文件。标题提到的“hex转换成bin文件的工具”是解决这类问题的一个实用工具...

    pcm测试文件下载

    在“pcm测试文件下载”的描述中,提到下载的PCM文件用于测试,这可能包括验证音频播放设备的兼容性、测试音频处理软件的功能,或者用于音频分析和比较。PCM文件的原始性和无损性使得它成为测试的理想选择,因为它能...

    Dump文件转txt

    1. **安装WinDbg**:首先,你需要下载并安装WinDbg。这个工具可以在微软的官方网站上找到,属于Windows Debugging Tools的一部分。 2. **打开Dump文件**:启动WinDbg后,点击"File"菜单,然后选择"Open Crash Dump...

Global site tag (gtag.js) - Google Analytics