java io 文件下载

/**
	 *  文件下载
	 * @param response
	 * @param downloadPath
	 * @param docName
	 */
	public void downLoadFile(
			HttpServletResponse response,String downloadPath, String docName) {
		response.setContentType("text/html;charset=utf-8");

		BufferedInputStream bis = null;
		BufferedOutputStream bos = null;

		File file = new File(downloadPath);

		try {
			response.addHeader("Content-Length", String.valueOf(file.length()));
			byte[] buff = new byte[2048];
			bis = new BufferedInputStream(new FileInputStream(file));
			bos = new BufferedOutputStream(response.getOutputStream());
			int bytesRead;
			while ((bytesRead = bis.read(buff, 0, buff.length)) != -1) {
				bos.write(buff, 0, buff.length);
			}

		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if(bis !=null){
					bis.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			try {
				if(bos !=null){
					bos.close();
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}
}

  

时间: 2024-10-22 04:32:57

java io 文件下载的相关文章

struts2文件下载出现Can not find a java.io.InputStream with the name的错误

今天在用struts2就行文件下载时出现如下错误: Servlet.service() for servlet default threw exception java.lang.IllegalArgumentException: Can not find a java.io.InputStream with the name [imageStream] in the invocation stack. Check the <param name="inputName">

struts2文件下载 出现Can not find a java.io.InputStream with the name的错误

成功代码: 前台界面jsp: <a style="text-decoration:none;" href="<%=path %>/main/frontNewsAction_downloadFile.action?fileName=<s:property value="fileTitle"/>">下载</a> Action文件:private String fileName;//get set方法 p

Java多线程文件下载

以下代码有点问题,会发生阻塞,还不知道啥问题: package com.test.service; import java.io.File; import java.io.InputStream; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.URL; import java.util.concurrent.CountDownLatch; import org.slf4j.L

Java IO在实际开发中的应用

IO是java绕不过去的槛,在开发中io无处不在, 正如同 世界上本没有路,java io写多了,也就知道了大体是什么意思,在读完thinking in java 感觉就更清晰了,结合具体的业务场景,整理一下 ,什么是IO.为什么JAVA要这么设计IO. 先来一道开胃菜 我想要读取控制台输入的字符 解释一下:我从控制台读取一行字符,然后打印一下.这就是一个简单的流了. 整理一下: 就是我先 得到一个用于读取 控制台输入的流,然后 我·打印我得到的东西,这里有个细节就是 流一定得关闭,这是底线,关

java web文件下载功能实现

需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>通过链接下载文件&

【Servlet】java web 文件下载功能实现

需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 [html] view plain copy <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body&

Java单线程文件下载,支持断点续传功能

前言: 程序下载文件时,有时会因为各种各样的原因下载中断,对于小文件来说影响不大,可以快速重新下载,但是下载大文件时,就会耗费很长时间,所以断点续传功能对于大文件很有必要. 文件下载的断点续传: 1.先下载临时文件,用于记录已下载大小:     2.http请求时设置Range参数       3.下载此次请求的数据: 直接上代码: 1 package com.test.service; 2 3 import java.io.File; 4 import java.io.InputStream;

Java Web文件下载

Web文件下载有两种,一种是文件在网站目录下,在浏览器中直接输入文件路径即可下载,如http://www.xxx.com/file.zip.另外一种是文件不在网站目录下或者文件是动态生成的(导出报表或者导出excel等),这种情况需要通过response的OutputStream实现文件的下载.DownloadUtils是一个Java Web文件下载工具类,提供多种静态方法实现文件下载. package com.rhui.util; import java.io.BufferedInputStr

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类

J2SE知识点归纳笔记(七)---Java IO Part 1:File类与RandomAccessFile类                                                                 --转载请注明出处:coder-pig 本节引言: 兜兜转转,又回来写Java了,上一篇J2SE知识点归纳笔记(六)---Java常用类是上2014.4.14写的,时隔一年 又来重拾之前还没写完的系列了,前些天群里一个妹子反映她Java基础薄弱,然后抱怨在cs