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

java连接ftp下载

    博客分类:
  • java
 
阅读更多

有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。

/** ftp服务器地址 */
private String ftpHost;
/** ftp服务器用户名 */
private String ftpName;
/** ftp服务器密码 */
private String ftpPass;
/** ftp根目录 */
private String ftpDir;
/** 本地目录 */
private String localPath;
public boolean downloadFile(String path, String fileName) {

		// 全部路径
		String fullPath = path + fileName;
		FTPClient client = new FTPClient();
		// 超时
		client.setConnectTimeout(30000);
		File dir = new File(localPath + path);
		// 判断此文件夹是否存在
		if (!dir.exists())
			dir.mkdirs();
		try {
			// 连接ftp
			client.connect(ftpHost);
			int replyCode = client.getReplyCode();
			if (!FTPReply.isPositiveCompletion(replyCode)) {
				client.disconnect();
				return false;
			}
			replyCode = client.getReplyCode();
			if (!FTPReply.isPositiveCompletion(replyCode)) {
				client.quit();
				return false;
			}
			// 登录
			if (client.login(ftpName, ftpPass)) {
				// 以2开头的返回值就会为真
				if (!FTPReply.isPositiveCompletion(client.getReplyCode())) {
					client.disconnect();
					logger.error("连接ftp失败");
				}
				/** ftp server system type */
				FTPClientConfig config = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
				/** server language */
				config.setServerLanguageCode("zh");
				/** server time zone */
				config.setServerTimeZoneId("Asia/Shanghai");
				/** ftp transfer mode in binary */
				client.setFileTransferMode(FTP.BINARY_FILE_TYPE);
				/** receive buffer size */
				client.setReceiveBufferSize(524288);
				client.configure(config);
				client.setFileTransferMode(FTP.BINARY_FILE_TYPE);
				client.setFileType(FTP.BINARY_FILE_TYPE);
				client.changeWorkingDirectory(ftpDir);// 转移到FTP服务器目录
				// 下载到本地
				return client.retrieveFile(ftpDir + fullPath, new FileOutputStream(localPath + fullPath));
			}
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		} finally {
			if (client.isConnected()) {
				try {
					client.logout();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return false;
	}

 

里面的具体参数可以根据情况来设置,是用的apache的开源项目。

分享到:
评论

相关推荐

    java ftp上传和下载

    Java FTP(File Transfer Protocol)是Java编程中用于与FTP服务器交互的一种技术,它允许开发者编写程序来上传、下载或管理FTP服务器上的文件。在本文中,我们将深入探讨如何使用Java实现FTP的上传和下载功能,以及...

    java 连接 FTP 文件操作(上传,下载,删除,复制

    本文将详细讨论如何使用Java连接FTP(File Transfer Protocol)服务器,进行文件的上传、下载、删除以及复制等操作。 首先,Java通过`java.net`和`javax.net`包提供了FTP客户端的功能。主要依赖于`java.net....

    Java解析FTP服务器文本文件

    Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar、antlr.jar、commons-...

    java ftp连接池

    这个测试可能包括创建连接池、执行FTP操作(如上传、下载、列出目录等)、验证连接池的性能和稳定性等。 总的来说,使用Java FTP连接池能够提高FTP操作的效率,减少系统负载,而且通过合理的配置,还能确保服务的...

    java实现Ftp批量下载文件及解压

    通过Java实现FTP批量下载文件以及解压的功能,可以极大地提高工作效率,特别是在处理大量数据时。以下是一份详细的步骤介绍: 首先,我们需要引入Java的FTP客户端库,如Apache Commons Net库。这个库提供了丰富的...

    Java实现FTP文件上传和下载

    在Java编程语言中,FTP(File Transfer Protocol)文件上传和下载是常见的网络操作,用于在本地计算机和远程服务器之间交换文件。以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。...

    JAVA实现FTP下载

    以上步骤详细阐述了如何使用Java实现FTP下载,结合Oracle数据库获取文件地址。在实际应用中,可能还需要处理异常、优化性能、重试机制等复杂情况。对于大型项目,可以考虑使用Spring框架提供的FTP支持,这样可以更...

    Java上传下载ftp上的文件

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

    java SSH FTP下载文件

    其次,对于FTP下载,Java提供了`java.net.FTPClient`类来处理FTP连接。FTP操作的基本流程如下: 1. **创建FTPClient对象**:`FTPClient ftp = new FTPClient();` 2. **连接服务器**:`ftp.connect("hostname", ...

    java操作ftp下载

    总结,Java通过FTP远程下载文件涉及到的主要知识点有:使用Apache Commons Net库,建立FTP连接,切换到被动模式,列举远程目录,识别文件和目录类型,使用FTPClient的retrieveFile()方法下载文件,以及递归下载整个...

    java登录FTP下载文件,支持断点下载

    本场景中,我们关注的重点是如何实现一个功能完善的FTP下载工具,它支持断点续传,即当下载中断后可以从上次停止的地方继续。以下是关于这个主题的详细解释: 首先,我们需要了解FTP的基本概念。FTP是一种用于在...

    java写的ftp下载上传定时监控

    Java作为多平台支持的编程语言,提供了丰富的库和工具来实现FTP功能,包括下载、上传文件以及定时监控等操作。本篇文章将深入探讨如何使用Java进行FTP文件传输,并涉及自动解压和压缩的功能。 首先,让我们关注Java...

    JAVA实现ftp上传,下载

    FTP下载与上传类似,但使用`retrieveFile()`方法。同样需要设置工作目录,然后打开本地文件的输出流,将远程文件的内容写入本地文件。确保在下载完成后关闭流。 五、XML文件读取与解析 在FTP上传下载任务中,可能会...

    java+FTP上传下载

    FTP下载的流程类似,但需要使用`retrieveFile`方法而不是`storeFile`。以下是一个简单的下载示例: ```java import org.apache.commons.net.ftp.FTPClient; public class FtpDownloader { public static void ...

    Java实现FTP批量大文件上传下载.pdf

    首先,需要建立FTP连接,接着使用FTP客户端库上传或下载文件。在上传过程中,可以使用断点续传功能,以便在上传过程中出现问题时,可以从断点继续上传。 三、Java Applet实现FTP批量大文件上传下载 在Java中实现...

    java 读取Ftp指定位置的文件解析并入库

    标题 "java 读取Ftp指定位置的文件解析并入库" 涉及到的是使用Java编程语言通过FTP(File Transfer Protocol)协议从远程服务器上下载文件,然后对下载的文件进行解析,并将解析得到的数据存储到数据库中。...

    JAVA获取FTP文件列表

    连接FTP服务器 ```java public boolean open() { if (ftpClient != null && ftpClient.serverIsOpen()) return true; try { ftpClient = new FtpClient(); ftpClient.openServer(server, port); ftpClient....

    java ftp 服务器

    一个简单的demo,适合初学者,java语言使用第三方API,进程FTP上传下载的demo

    基于Java的FTP客户端源代码

    总之,Java FTP客户端源代码提供了一个平台,让你可以利用Java的强大力量来实现文件的上传、下载和管理。通过学习和实践,你将能够掌握FTP通信的核心概念,并将这些知识应用到你的项目中,提升你的开发技能。

Global site tag (gtag.js) - Google Analytics