`

java下载远程服务器端数据文件

 
阅读更多

在java中实现下载远程服务器中的数据文件
/**
	 * 下载服务器端清单文件
	 * 
	 * 
	 */
	public void dowloadFile() {
		HttpServletResponse response = ServletActionContext.getResponse();
		HttpServletRequest request = ServletActionContext.getRequest();
		try {
			String downPath = PropertyUtil.getProperty("xjgz.task.inf.downPath",
					"attribute.properties");
			//String ftpUrl = PropertyUtil.getProperty("xjgz.task.inf.ftpUrl",
			//"attribute.properties");
			HttpURLConnection httpUrl = null;
	        URL url = null;
	        String urlStr = "http://135.224.78.18:8888";//服务器地址
	        if(fileName.indexOf("/") != -1){
	        	fileName = fileName.replaceAll("/", "-");
	        }
	        String str = encode(urlStr + downPath + "/" + fileName, "utf-8");//需要对数据文件的全链接中的中文字符进行加密
	        url = new URL(str);
	      
			BufferedOutputStream out = null;
			BufferedInputStream in = null;
			try {
				in = new BufferedInputStream(url.openStream());
				response.reset();
	            response.setContentType("application/octet-stream"); 
	            response.setHeader("Content-Disposition",
						"attachment;filename=\"" + URLEncoder.encode(fileName,"UTF-8") + "\"");
	            int i;
	            while((i=in.read())!=-1){
	                response.getOutputStream().write(i);
	            }
	            in.close();
	            response.getOutputStream().close();
			}catch(Exception e){
				e.printStackTrace();
			}
			finally {
				if (in != null) {
					in.close();
					in = null;
				}
				if (out != null) {
					out.close();
					out = null;
				}
			}
			response.flushBuffer();
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		} catch (IOException e2) {
			e2.printStackTrace();
		}

	}
	
	
	/**
	 * * 替换字符串卷 * *
	 * 
	 * @param str
	 *            被替换的字符串 *
	 * @param charset
	 *            字符集 *
	 * @return 替换好的 *
	 * @throws UnsupportedEncodingException
	 *             不支持的字符集
	 */
	public static String encode(String str, String charset)
			throws UnsupportedEncodingException {
		String zhPattern = "[\u4e00-\u9fa5]+";
		Pattern p = Pattern.compile(zhPattern);
		Matcher m = p.matcher(str);
		StringBuffer b = new StringBuffer();
		while (m.find()) {
			m.appendReplacement(b, URLEncoder.encode(m.group(0), charset));
		}
		m.appendTail(b);
		return b.toString();
	}
 
分享到:
评论
1 楼 saveunme 2012-04-20  
楼主,代码里的<span>是怎么回事啊....?

相关推荐

    JAVA代码实现远程服务器的文件操作步骤及JAR包

    在Java编程中,远程服务器的文件操作是一项常见任务,尤其在分布式系统和云计算环境中。本文将详细介绍如何使用Java实现这一功能,并提供相关的JAR包。主要涉及的技术包括Linux的SCP(Secure Copy)协议、Java的...

    java实现简单远程监控

    在远程监控场景中,RMI可用于建立客户端与服务器之间的通信,允许客户端发起请求以获取服务器端的监控数据。要使用RMI,你需要定义远程接口、实现该接口的远程对象,以及注册远程对象到RMI注册表。 实现步骤大致...

    Java web使用pdf.js在线预览远程服务器上的pdf文件

    "Java Web使用pdf.js在线预览远程服务器上的pdf文件"这个主题涵盖了如何利用pdf.js库实现在Web环境中流畅、安全地预览PDF文档。pdf.js是Mozilla开发的一个开源项目,它允许开发者在浏览器端直接渲染PDF内容,无需...

    java远程调用批处理文件代码归总

    双向通信意味着两个端点都可以同时发送和接收数据,这对于Java远程调用批处理文件至关重要,因为它允许Java程序发送指令到远程服务器并接收执行结果。 为了实现这个功能,我们可以创建一个服务器端应用,监听特定的...

    Java文件夹复制(远程复制(网络传输),用于远程备份文件)

    `FileSelection` 类用于选择和组织待复制的文件,而 `BackupClient` 类则负责将这些文件通过网络传输到远程服务器进行备份。 1. **文件操作**: - **文件和目录处理**:`FileSelection` 类创建了一个 `File` 对象 ...

    java局域网远程下载文件

    要实现远程文件下载,我们通常需要创建一个服务器端程序,它监听特定的端口,等待客户端的连接请求。服务器端接收到请求后,读取指定文件并将其内容发送到客户端。客户端则建立连接,接收服务器发送的数据,并将其...

    Java类交互的远程服务器端Ajax开源框架dwrDemo

    Java类交互的远程服务器端Ajax开源框架DWR(Direct Web Remoting)是一个强大的工具,它允许Web应用程序在浏览器和服务器之间进行动态、实时的通信,无需刷新页面即可更新内容。DWR简化了JavaScript与Java之间的通信...

    Java实现调用远程桌面示例

    1. **服务器端集成**:在Servlet或Spring MVC等Web框架中集成`properJavaRDP`,处理用户的请求,建立和管理远程桌面连接。 2. **前端交互**:使用WebSocket或其他实时通信技术,将用户在浏览器中的操作传递到服务器...

    javarmi来实现远程下载文件

    在本场景中,我们利用Java RMI来实现实时的远程文件下载功能。下面将详细阐述如何使用Java RMI来实现这一目标。 首先,我们需要理解Java RMI的基本工作原理。RMI系统包含两部分:服务器端(Server)和客户端...

    使用JS自动从服务器端下载文件到本地

    在提供的压缩包文件名列表中,我们看到有`ant.jar`和`commons-io-1.3.2.jar`这两个Java库,它们可能与服务器端处理文件上传或下载有关: 1. **ant.jar**: Apache Ant是一个Java库和命令行工具,其任务是驱动构建...

    java判断远程服务器上的文件是否存在的方法

    在Java编程中,判断远程服务器上文件是否存在是一个常见的需求,特别是在进行文件操作或者数据传输时。常规的`File.exists()`方法只能用于判断本地文件系统中的文件是否存在,对于远程文件,我们需要采用其他策略。...

    java 文件上传服务器,前后台代码

    2. **SpringMVC控制器**:在服务器端,SpringMVC的Controller需要接收并处理这个请求。使用`@RequestParam("file") MultipartFile file`注解来获取上传的文件。`MultipartFile`是Spring提供的一个接口,用于处理多...

    java 从ftp服务器下载文件

    * Description: FTP文件下载功能 * @Version 1.0 Jul 27, 2008 5:32:36 PM by cuihongbao@d-heaven.com * @param url FTP服务器地址 * @param port FTP服务器端口号 * @param username FTP用户名 * @param ...

    用java实现远程文件传输

    在远程文件传输中,通常服务器端会监听一个特定的端口,等待客户端的连接请求,然后通过`Socket`建立连接。一旦连接建立,数据就可以通过输入输出流在两个端点之间传输。 2. **I/O流处理**:Java的I/O流是进行文件...

    基于java的远程登录和文件传输v

    在基于Java的远程登录和文件传输中,我们主要关注的是...通过构建客户端和服务器端的交互,可以实现用户在不同地点的远程操作和文件交换。在实际项目中,还需要考虑安全性和性能优化等问题,确保服务的稳定性和可靠性。

    使用Java向服务器上传文件压缩包并实现解压缩

    在这个场景中,我们关注的是如何使用Java来实现文件压缩包的上传以及在服务器上的解压缩。Java作为一种强大的编程语言,提供了丰富的库来支持这样的操作,特别是在涉及到SFTP(Secure File Transfer Protocol)时,...

    java远程桌面连接

    Java远程桌面连接是一种技术,允许用户通过网络访问和控制远程计算机的桌面环境,类似于Windows操作系统中的Remote Desktop Protocol (RDP)。在Java中,我们通常使用Java Remote Method Invocation (Java RMI) 或 ...

    JAVA Socket远程执行任务

    - **解析和加载jar包**:服务器端需要将接收到的字节流转换回jar文件,并使用Java的ClassLoader加载这个jar包。 - **执行命令**:找到jar包中的main方法,通过反射机制调用这个方法执行任务。 - **返回结果**:...

    基于OkHttp3封装的Java上传下载.zip

    文件下载的流程与上传类似,但更侧重于处理响应中的流数据。关键步骤包括: 1. **创建ResponseBody的流**:当收到Response后,我们可以获取到ResponseBody,通过其`byteStream()`或`charStream()`方法获取流数据。 ...

    使用HttpUrlConnection实现上传文件 服务器端代码

    实际项目中,这些文件可能包括`Uploader.java`(客户端代码)和`FileUploadServlet.java`(服务器端代码)。 8. **代码示例**: 由于篇幅限制,这里只提供一个简化的代码片段: - 客户端: ```java ...

Global site tag (gtag.js) - Google Analytics