`
mrpengpengda
  • 浏览: 37443 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

读取配置文件连接ftp代码实现本地下载

    博客分类:
  • ftp
阅读更多
/***
 * Ftp 文件下载类
 * @author ***
 */
public class FtpDownload {
	/***
	 * 获取 FtpClient
	 * @param refID
	 * @return
	 */
	public FtpClient connectServer() {
		FtpClient ftpClient = new FtpClient();
		FtpInfo ftpInfo = getFtpInfo();
		try {
			if (ftpInfo.getPort() != -1) {
				ftpClient.openServer(ftpInfo.getHost(), ftpInfo.getPort());
			} else {
				ftpClient.openServer(ftpInfo.getHost());
			}
			ftpClient.login(ftpInfo.getFtpUser(), ftpInfo.getFtpPwd());
		} catch (Exception e) {
			System.out.print("clientFtp exception"+e.getMessage());
		}
		return ftpClient;
	}
	
	/**
	 * 获取ftp信息
	 * @param path
	 * @return
	 */
	public FtpInfo getFtpInfo(String path) {
		//读取 ftpServer.properties 文件的 value 文件目录在  classes 目录下
		ResourceBundle resource = ResourceBundle.getBundle("ftpServer");
		FtpInfo ftp = new FtpInfo();
		ftp.setHost(resource.getString("middle_ftpPath"));  
		ftp.setFtpUser(resource.getString("middle_user"));
		ftp.setFtpPwd(resource.getString("middle_password"));
		ftp.setPort(21);
		ftp.setDirName(resource.getString("middle_dir"));
		return ftp;	
	}

	/**
	 * 下载文件
	 * @param ftpClient
	 * @param remotePath
	 * @param localPath
	 * @param filename
	 * @return
	 * @throws Exception
	 */
	public int downloadFile(FtpClient ftpClient, String remotePath,
			String localPath, String filename) throws Exception {
		int isExistInt = 0;
		try {
			//目录切换到远程的
			if (remotePath.length() != 0) {
				try {
					ftpClient.cd(remotePath);
				} catch (Exception ex) {
					System.out.print("ftpClient.cd(remotePath) Exception:"
							+ ex.getMessage());
				}
			}
			ftpClient.binary();
			//获得文件 的输入 流
			TelnetInputStream is = ftpClient.get(filename);
			//创建磁盘目录
			File file = new File(localPath);
			if (!file.exists()) {
				file.mkdirs();
			}
			//File file_out = new File(localPath + File.separator + filename);
			//在创建的目录中新建个文件
			File file_out = new File(file, filename);
			FileOutputStream os = new FileOutputStream(file_out);
			byte[] bytes = new byte[1024];
			int c;
			while ((c = is.read(bytes)) != -1) {
				os.write(bytes, 0, c);
			}
			is.close();
			os.close();
			isExistInt = 1;
		} catch (Exception ex) {
			System.out.print("download FTP file exception"+e.getMessage());
		}
		return isExistInt;
	}
}

[color=olive][/color]
分享到:
评论

相关推荐

    Delphi 连接FTP读取文件数据

    通过这个过程,你可以构建起Delphi应用连接FTP服务器并读取文件数据的能力,这对于实现接口或者数据同步等功能非常有用。在实际开发中,还需要考虑错误处理、重试机制以及安全性问题,比如使用SSL/TLS加密连接来增强...

    C语言实现FTP下载文件代码(支持windows和linux和ARM交叉编译)

    可以使用结构体存储这些信息,并通过读取配置文件进行初始化。 7. 自动上传 自动上传功能可能涉及到定时任务或者事件触发,例如监控特定目录的变化,当有新文件时自动触发FTP上传。可以使用inotify或WinAPI的...

    curl实现ftp上传下载

    总结来说,libcurl为C++开发者提供了一种高效、灵活的方式去实现FTP的上传和下载,使得在处理文件传输任务时,无需关心底层协议的细节。通过理解和应用这些知识点,你可以构建出可靠的FTP客户端程序。记得在实际使用...

    Java FTP 指定下载文件和上传文件到指定的服务器目录

    1. **连接FTP服务器**:通过`connect`方法指定服务器IP地址。 2. **登录FTP服务器**:使用`login`方法进行用户认证。 3. **更改工作目录**:使用`changeWorkingDirectory`方法切换到指定目录。 4. **设置FTP参数**:...

    java实现ftp文件上传及下载源码

    此方法接受远程文件路径作为参数,返回一个OutputStream,我们可以将其连接到本地文件的OutputStream上,实现数据的读取和写入。FTPUtil或FTPBean中可能会提供downloadFile()方法,用于处理这一过程。 4. Apache ...

    FTP远程上传下载文件

    在这个场景中,我们使用FTP协议来实现在远程服务器上上传和下载文件的功能。C#和Asp.NET是开发此类应用的主要编程语言和技术框架。 1. **FTP基本概念**: FTP允许用户在本地计算机和远程FTP服务器之间交换文件。它...

    java实现ftp上传和下载文件功能.

    - 通常,下载文件会涉及`FTPClient.retrieveFileStream()`或`FTPClient.retrieveFile()`方法,将远程文件流读取并写入本地文件。但这段代码中没有展示具体的下载逻辑,只设置了相关变量和进行了基本的FTP操作。 9....

    FTP连接,上传以及下载文件

    综上所述,Android通过FTPClient库可以实现FTP连接、文件上传和下载。开发者需理解FTP的基本概念,学会配置FTPClient,处理文件流,并对可能出现的异常进行妥善处理。通过这些步骤,用户可以在移动设备上与远程...

    asp.net C# 利用FTP 远程下载文件

    本教程将详细讲解如何使用C#在ASP.NET环境中实现FTP远程下载文件到指定的本地盘符。 首先,要进行FTP远程下载,你需要引入`System.Net`命名空间,它包含`FtpWebRequest`和`FtpWebResponse`类,这两个类是FTP操作的...

    java ftp 上传下载,代码。

    - 下载文件则需要从FTP服务器读取文件并写入到本地。示例如下: ```java OutputStream outputStream = new FileOutputStream("local_save_path"); boolean success = ftpClient.retrieveFile("remote_file_path...

    java实现文件上传到ftp

    在FTP操作中,可能会遇到各种异常情况,如连接失败、文件传输错误等,此时可以通过读取此属性文件获取相应的错误信息。 下面是一个简单的FTP文件上传的步骤: 1. **创建FTPClient对象**:`FTPClient ftp = new ...

    C#FTP上传文件 下载文件的代码

    2. **读取配置文件**: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(ApplicationStartPath + "\\KcFtpServer.xml"); // 解密并获取FTP服务器的相关信息 ftpServerIP = Security....

    Java上传下载ftp上的文件

    文件上传涉及到选择远程目录、读取本地文件并将其写入FTP服务器。以下是一个简单的文件上传示例: ```java File localFile = new File("/path/to/local/file.txt"); String remoteFilePath = "/path/to/remote/file...

    c#ftp服务器下载文件.rar

    本主题聚焦于使用C#编程语言实现FTP服务器下载文件的功能,并结合浏览器进行操作。以下将详细介绍相关知识点: 1. FTP协议:FTP是TCP/IP协议族的一部分,允许用户在两台计算机之间上传、下载文件。它依赖于两个独立...

    java实现ftp文件传输

    下载文件则相反,需要从服务器读取文件并写入本地系统。使用缓冲流可以提高文件读写效率。 5. 错误处理与资源管理:在进行FTP操作时,必须考虑异常处理,如网络中断、文件不存在等问题。在完成操作后,记得关闭FTP...

    asp.net的网页ftp上传下载源代码

    5. **文件流操作**:在上传和下载文件时,需要使用文件流对象,如`FileStream`,来读取或写入本地文件,并与FTP服务器的数据通道进行交互。 6. **异常处理**:FTP操作可能会遇到各种问题,如网络中断、权限不足等,...

    FTP文件管理系统可以对本地及FTP服务器端的文件就行管

    - **从服务器端下载文件**: 用户可以从FTP服务器下载文件至本地计算机。 - **在服务器端创建目录**: 用户能够在FTP服务器上创建新的目录。 **1.3 系统流程图** 系统的流程通常包括以下几个步骤: 1. 用户登录FTP...

    FTP 文件同步 C#

    FTP文件同步的核心在于通过FTP协议连接到远程服务器,读取服务器上的文件列表,比较本地文件与服务器文件的差异,然后进行上传或下载操作以保持文件的一致性。以下是一些关键知识点: 1. **FTP连接**:使用C#的`...

    FTP上传下载源代码 VB.net

    FTP上传功能通常包括创建连接、登录FTP服务器、指定本地和远程文件路径、上传文件以及断开连接。在VB.NET中,这可以通过实例化FtpWebRequest对象并设置其属性来实现,如Method(设置为"STOR"用于上传)、Credentials...

    java定时从ftp服务器更新相关文件

    首先需要在项目中引入`ftp4j`的依赖,接着创建`FTPClient`对象,配置服务器信息,建立连接,然后执行相应的FTP命令,如登录、改变目录、列出文件、下载文件等。 4. FTPClient: `FTPClient`是`ftp4j`中的核心类,...

Global site tag (gtag.js) - Google Analytics