`

文件下载

    博客分类:
  • jsp
阅读更多
这里只是一个最简单的例子:

Servlet:
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
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 Download extends HttpServlet {

	private static final long serialVersionUID = -9010014940000834313L;

	public Download() {
		super();
	}

	public void destroy() {
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		/*
		 * 下列代码 实现本地文件的下载功能:提供给他人下载
		 */
		String filePath = request.getSession().getServletContext().getRealPath( "/")+"usr/";
		//request.getSession().getServletContext().getRealPath( "/")项目的根路径
		System.out.println(filePath);
		//String fileName = "Operator.doc".toString();  //文件的默认保存名
		String fileName = request.getParameter("fileName");
		System.out.println(fileName);
		
		//设置输出的格式
		response.reset();
		response.setContentType( "application/text;charset=GB2312 "); 
		response.addHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
		
		//防止出现fileName为null出异常
		if (fileName!=null) {
			//读到流中
			InputStream inStream=new FileInputStream(filePath+fileName);
			//循环取出流中的数据
			byte[] b = new byte[100];
		    int len;
		    OutputStream out=response.getOutputStream();
		    while((len=inStream.read(b)) >0){
		    	out.write(b,0,len); 
		    }
		    inStream.close();
		    out.close();
		}
		
	}

	public void init() throws ServletException {
	}

}


Jsp:
<%@ page language="java" pageEncoding="gbk"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>downloadFile</title>

  </head>
  
  <body>
    <center>
    <form action="download" method="post">
    <table>
    <tr>
    <td><input type="hidden"name="fileName" value="a.txt"/>a.txt</td><td><input type="submit" value="下载"/></td>
    </tr>
    </table>
    </form>
    </center>
  </body>
</html>


======================================
从网络下载到本地:
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

public class DownloadFile {

	public static void main(String[] args) {
		try{
		/*
		 * 下列代码 实现网络文件的下载功能:从网络上下载文件到本地
		 */
		int bytesum=0;

		int byteread=0;

		URL url = new URL("http://qsrock.iteye.com/admin/blogs/156364");

		 URLConnection conn = url.openConnection();

		 InputStream inStream = conn.getInputStream();

		 FileOutputStream fs=new FileOutputStream( "/usr/a.html");

		  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 (Exception e) {
			e.printStackTrace();
		}
	}

}

分享到:
评论

相关推荐

    Fish文库文档下载工具

    "Fish文库文档下载工具"的核心功能在于其对多种文档网站的兼容性,能够突破常规的在线预览限制,将文档转化为可本地存储的PDF文件。这样,用户就可以随时随地查阅,无需依赖网络连接,极大地提高了学习和工作的效率...

    萝卜头文档下载器1.1

    萝卜头文档下载器是一款Windows端的免费文档下载工具,可以帮助我们下载各种常用文档,降低获取成本!软件下载好后无需安装,就可以直接打开使用。 界面非常的干净整洁,支持下载的范围也非常广泛,支持范文、协议书...

    超级好用的百度文档下载工具

    标题中的“超级好用的百度文档下载工具”指的是一个专门设计用于从百度文库下载文档的应用程序。这个工具旨在提供一种高效、简便的方式来获取百度文库中的资源,从而避免在线阅读时可能出现的不便,比如广告干扰、...

    收费文档下载方法c.zip

    这些工具能够解析百度文库的页面,抓取文档内容并将其转换成本地文件。使用这类工具时,用户需要复制百度文库文档的网页链接,然后粘贴到工具的输入框内,按照提示进行操作。值得注意的是,这种方法可能受制于网站的...

    豆丁网文件下载器

    豆丁网免费下载器(冰点)无需登录也无需积分,只需要将需要下载的文档的网页地址复制在软件的录入框中就可以自由下载,并最终生成pdf文件。对部分pdf文件能够提取文字生成txt。 豆丁网免费下载器还支持自由下载百度、...

    冰点文档下载器(亲测可用)

    需要注意的是,虽然冰点文档下载器可以免费下载这些文档,但下载的文件质量可能与原版有所差异,例如可能存在格式转换后的问题,如图片模糊或排版错乱。因此,在实际使用时,用户需要根据下载后的文件质量来调整自己...

    小叶文档下载器.zip

    1、在本站下载解压,得到小叶文库下载器软件包; 2、首先前往文库网站找到需要下载的文库 3、将其文库地址复制粘贴到软件中,进行解析下载;...4、之后下载好的文件可在本自录下的Download文件夹进行查看。

    在线文档下载神器

    对于"Fish-v321"这个文件,根据上下文推测,这可能是某个特定的在线文档下载神器的版本号或者是该工具的安装包文件名。具体的功能和使用方法,可能需要进一步查阅相关软件的说明书或者进行实际操作来了解。总的来说...

    Visual Studio 2010 帮助文件下载助手

    visual studio 2010的帮助文档很难下载,一方面文件很多很大,全部文档超过1GB,使用微软自带的 或者辅助工具,由于没有发挥多线程和断点续传的特点,下载速度很慢,容易失败。 另一方面迅雷等下载工具,可以实现...

    文档下载工具

    至于文件`idocdown_v28`,这可能是该文档下载工具的版本号或者是程序的执行文件名。在实际使用中,用户需要将这个文件解压并安装在本地计算机上,然后按照软件的指示操作,输入目标文档的网址,工具便会自动开始下载...

    豆丁文档下载器(可下载收费文档)

    豆丁文档下载器是一款专为了解决用户在豆丁网上下载文档困难而设计的软件工具。豆丁网是一个在线文档分享平台,用户可以上传、分享和查找各种类型的文档,包括学术论文、研究报告、课件、书籍等。然而,豆丁网为了...

    文档下载器.zip

    【描述】"文档下载器" 提供了一个集成化的解决方案,让用户能够轻松下载网络上的文档资源,特别是可能存在于各种文档分享平台上的PDF、SWF等格式的文件。它可能包含了用于处理不同文件类型的组件,以及一些支持程序...

    冰点文档下载器,支持下载网页百度文档

    在提供的压缩包子文件“Fish-v324-0712”中,我们可以推测这可能是冰点文档下载器的一个版本,其中可能包含了软件的执行文件、帮助文档、许可证文件等组成部分。用户在下载这个压缩包后,需要解压并按照指示安装和...

    百度文库豆丁等文件免费下载绿色程序,解压即可

    “百度文库”和“豆丁文件免费”则明确了这个工具的主要功能是服务于这两个平台的文档下载。 关于冰点下载,这可能是该工具的具体名称,或者是压缩包中包含的一个主要文件。冰点下载工具可能是一个网页抓取或代理...

    csv文件下载(人员信息.txt)

    由于在学习numpy数据分析的时候没有csv类型文件,又懒得自己一个个敲字,便想来csdn里随便下载一个。然而......居然要钱啊!!!!!!!我没钱,所以自己写了个,我不要你们的钱,麻烦各位拿资源的时候吱一声,这是...

    文档下载与转换

    文档下载是指从互联网或其他网络资源中获取文件到本地设备的过程。这通常涉及到浏览器、HTTP/HTTPS协议以及文件传输技术。当你点击一个链接或使用专门的下载工具时,文件就会从服务器传输到你的电脑。为了确保安全,...

    百度或豆丁的原始文件 下载 免积分

    标题中的“百度或豆丁的原始文件 下载 免积分”指的是从百度文库或豆丁网这两个在线文档分享平台上获取原始文件的方式,通常这些平台为了盈利,会限制用户免费下载高质量的文档,需要消耗积分或者购买。但这个标题...

    豆丁文档下载工具无需登录

    豆丁文档下载工具是一款专为用户解决在豆丁网下载文档时遇到的登录难题而设计的应用。这款工具的独特之处在于,它允许用户无须注册或登录豆丁账号就能下载豆丁网上的一些付费或限制访问的文档,从而节省了时间和精力...

    豆丁当当文档下载

    综上所述,"豆丁当当文档下载"涉及到的技术点包括文档分享平台的使用、文件下载工具、文件格式转换(如SWF到PDF)、文档管理以及特定平台的文件格式(如DOCIN)。这些工具和服务的使用可以帮助用户更有效地获取和...

    文档下载器和unlocker解锁器 下载专用

    文档下载器和Unlocker解锁器是两种非常实用的工具,它们在处理文件下载和解决文件访问权限问题时发挥着重要作用。 文档下载器是一种专门设计用于帮助用户从互联网上高效、快速下载大文件或批量文件的软件。这类工具...

Global site tag (gtag.js) - Google Analytics