`

Java文件下载设置

    博客分类:
  • JAVA
 
阅读更多
					HttpServletResponse response = PortalUtil
							.getHttpServletResponse(actionResponse);
					byte[] data =null;
				    try{
				    	data = FileUtil.toByteArray2(filePath);  
				    }catch (FileNotFoundException e) {
						// TODO: handle exception
				    	response.setContentType("text/html");
						response.setCharacterEncoding("UTF-8");
				    	response.getWriter().print("<script>alert('文件未找到');window.close();</script>");
				    	return ;
					}

					String fileName = "设备台账批量导入模板.csv";
					fileName = URLEncoder.encode(fileName, "UTF-8");  
				    fileName = new String(fileName.getBytes("utf-8"),"iso8859-1");
				    response.reset();  
				    response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");  
				    response.addHeader("Content-Length", "" + data.length);  
				    response.setContentType("application/octet-stream;charset=UTF-8");  
				    OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());  
				    outputStream.write(data);  
				    outputStream.flush();  
				    outputStream.close();
				    response.flushBuffer();


	public static byte[] toByteArray2(String filePath) throws IOException {

		File f = new File(filePath);
		if (!f.exists()) {
			throw new FileNotFoundException(filePath);
		}

		FileChannel channel = null;
		FileInputStream fs = null;
		try {
			fs = new FileInputStream(f);
			channel = fs.getChannel();
			ByteBuffer byteBuffer = ByteBuffer.allocate((int) channel.size());
			while ((channel.read(byteBuffer)) > 0) {
				// do nothing
				// System.out.println("reading");
			}
			return byteBuffer.array();
		} catch (IOException e) {
			e.printStackTrace();
			throw e;
		} finally {
			try {
				channel.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
			try {
				fs.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
分享到:
评论

相关推荐

    ajax实现java文件下载

    本话题将详细探讨如何通过Ajax实现Java文件的下载,并介绍相关的核心概念和技术。 1. **Ajax**(Asynchronous JavaScript and XML)是一种在不重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript...

    java文件下载设置中文名称的实例(response.addHeader)

    java文件下载设置中文名称的实例(response.addHeader) java文件下载设置中文名称的实例(response.addHeader)是对java文件下载中中文名称的处理方法的实践。通过使用response.addHeader方法,设置content-...

    Java文件下载的几种方式

    ### Java文件下载的几种方式详解 在Java编程中,文件下载是常见的操作之一,无论是从本地文件系统还是网络上下载文件,都需要掌握一定的技巧和方法。本文将详细介绍几种常用的Java文件下载方式,包括本地文件下载、...

    java文件下载的工具类

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

    Java文件下载,Java文件下载中文乱码,Java通用文件下载

    Java文件下载涉及到将服务器上的文件传输到客户端,例如浏览器。这个过程可能会遇到一些问题,如中文乱码,这是由于字符编码不匹配导致的。本文将深入探讨Java文件下载的实现方式以及如何解决中文乱码问题。 首先,...

    java实现下载例子

    总结来说,这段代码演示了如何使用Java和JSP创建一个简单的文件下载服务,处理了字符编码问题,设置了正确的HTTP响应头,并将文件内容流式传输到客户端。这是一个基础的下载服务实现,适用于小规模应用,但实际生产...

    java实现文件下载

    例如,文本文件设置为`text/plain`,而二进制文件如Word文档则设置为`application/octet-stream`。此外,需要为不同的文件类型设置正确的字符编码,以保证文件内容正确地被接收和处理。 7. 注意事项 - 当使用缓冲区...

    java下载文件案例

    总结一下,Java文件下载涉及的关键知识点包括:HTTP响应头的设置,文件I/O操作,Servlet编程,以及在Spring MVC框架下的实现方式。了解这些概念并能够灵活应用,将有助于你在开发中实现高效、可靠的文件下载功能。

    Java上传下载ftp上的文件

    本文将深入探讨如何使用Java实现FTP文件的上传和下载功能,以满足标题和描述中的需求。作者宋海康提供的案例将为我们提供一个基础,帮助我们理解这个过程。 首先,我们需要导入Java FTP库,通常是`commons-net`库,...

    Java实现文件下载功能

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

    java+jsp 文件下载(服务器上的文件)

    总结起来,使用Java和JSP实现文件下载的过程包括:创建一个用户界面(如`downloadtool.jsp`)来触发下载请求,处理请求的服务器端程序(如`dodownloadtool.jsp`)设置正确的HTTP响应头并读取并发送文件内容。...

    java文件下载

    Java文件下载功能在Struts2框架下的实现,不仅涉及对`struts.xml`配置文件的正确设置,还需要精心设计和实现`Action`类,以处理文件读取、编码转换等细节。通过本文的详细介绍,相信读者已经对如何在Struts2中实现...

    Java实现批量下载并压缩文件.pptx.pptx

    Java 实现批量下载并压缩文件是一项常见的任务,尤其在处理大量数据存储时。在这个过程中,主要涉及以下几个关键知识点: 1. **文件下载**:在Java中,文件下载通常基于网络I/O流,通过发送HTTP请求获取远程服务器...

    java文件上传下载jar包

    这里提到的"java文件上传下载jar包"指的是Java中用于处理文件上传和下载操作的库的jar文件。下面将详细介绍这个主题中的相关知识点。 1. **Servlet API**:Java Servlet API是Java Web开发的基础,它提供了处理HTTP...

    java访问https网址下载文件

    在Java编程中,访问HTTPS网址并下载文件是一个常见的任务,特别是在网络应用开发中。HTTPS(HyperText Transfer Protocol Secure)是一种安全通信协议,用于确保数据在客户端和服务器之间的传输过程是加密的,保护了...

    java--接口--下载文件--可支持断点续传.rar

    在本示例中,"java--接口--下载文件--可支持断点续传"指的是利用Java设计一个接口来处理文件下载,并且这个接口支持断点续传功能。断点续传是一项实用的技术,它允许用户在下载过程中暂停并稍后从上次中断的地方继续...

    Java高性能文件上传及下载

    在Java开发中,实现高性能的文件上传和下载是至关重要的技术环节,特别是在处理大量用户交互或者大数据量传输的场景下。本资料集主要探讨如何利用Java技术和相关工具库来优化这一过程,确保系统的稳定性和效率。 ...

    JAVA本地文件下载

    本文档将详细介绍如何使用Java实现基于HTTP协议的本地文件下载功能。主要聚焦于通过文件名及文件的全路径来实现本地文件的下载。 #### 二、关键概念与技术点 ##### 2.1 HTTPServletResponse `HttpServletResponse...

    java 使用流下载文件

    通过上述分析,我们可以看到,使用Java流技术进行文件下载涉及多个步骤:文件读取、响应设置以及数据传输等。这些步骤共同协作,使得客户端能够成功接收到服务器端的文件。理解并掌握这些关键技术点对于开发高效稳定...

Global site tag (gtag.js) - Google Analytics