有的时候需要用到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(File Transfer Protocol)是Java编程中用于与FTP服务器交互的一种技术,它允许开发者编写程序来上传、下载或管理FTP服务器上的文件。在本文中,我们将深入探讨如何使用Java实现FTP的上传和下载功能,以及...
本文将详细讨论如何使用Java连接FTP(File Transfer Protocol)服务器,进行文件的上传、下载、删除以及复制等操作。 首先,Java通过`java.net`和`javax.net`包提供了FTP客户端的功能。主要依赖于`java.net....
Java解析FTP服务器文本文件是指使用Java语言连接FTP服务器,上传、下载、递归目录遍历等基本操作的集合。在这个过程中,我们需要引入相关的jar包,例如cpdetector.jar、jchardet-1.0.jar、antlr.jar、commons-...
这个测试可能包括创建连接池、执行FTP操作(如上传、下载、列出目录等)、验证连接池的性能和稳定性等。 总的来说,使用Java FTP连接池能够提高FTP操作的效率,减少系统负载,而且通过合理的配置,还能确保服务的...
通过Java实现FTP批量下载文件以及解压的功能,可以极大地提高工作效率,特别是在处理大量数据时。以下是一份详细的步骤介绍: 首先,我们需要引入Java的FTP客户端库,如Apache Commons Net库。这个库提供了丰富的...
在Java编程语言中,FTP(File Transfer Protocol)文件上传和下载是常见的网络操作,用于在本地计算机和远程服务器之间交换文件。以下将详细介绍如何使用Java实现FTP文件上传和下载的步骤,以及涉及到的关键知识点。...
以上步骤详细阐述了如何使用Java实现FTP下载,结合Oracle数据库获取文件地址。在实际应用中,可能还需要处理异常、优化性能、重试机制等复杂情况。对于大型项目,可以考虑使用Spring框架提供的FTP支持,这样可以更...
本文将深入探讨如何使用Java实现FTP文件的上传和下载功能,以满足标题和描述中的需求。作者宋海康提供的案例将为我们提供一个基础,帮助我们理解这个过程。 首先,我们需要导入Java FTP库,通常是`commons-net`库,...
其次,对于FTP下载,Java提供了`java.net.FTPClient`类来处理FTP连接。FTP操作的基本流程如下: 1. **创建FTPClient对象**:`FTPClient ftp = new FTPClient();` 2. **连接服务器**:`ftp.connect("hostname", ...
总结,Java通过FTP远程下载文件涉及到的主要知识点有:使用Apache Commons Net库,建立FTP连接,切换到被动模式,列举远程目录,识别文件和目录类型,使用FTPClient的retrieveFile()方法下载文件,以及递归下载整个...
本场景中,我们关注的重点是如何实现一个功能完善的FTP下载工具,它支持断点续传,即当下载中断后可以从上次停止的地方继续。以下是关于这个主题的详细解释: 首先,我们需要了解FTP的基本概念。FTP是一种用于在...
Java作为多平台支持的编程语言,提供了丰富的库和工具来实现FTP功能,包括下载、上传文件以及定时监控等操作。本篇文章将深入探讨如何使用Java进行FTP文件传输,并涉及自动解压和压缩的功能。 首先,让我们关注Java...
FTP下载与上传类似,但使用`retrieveFile()`方法。同样需要设置工作目录,然后打开本地文件的输出流,将远程文件的内容写入本地文件。确保在下载完成后关闭流。 五、XML文件读取与解析 在FTP上传下载任务中,可能会...
FTP下载的流程类似,但需要使用`retrieveFile`方法而不是`storeFile`。以下是一个简单的下载示例: ```java import org.apache.commons.net.ftp.FTPClient; public class FtpDownloader { public static void ...
首先,需要建立FTP连接,接着使用FTP客户端库上传或下载文件。在上传过程中,可以使用断点续传功能,以便在上传过程中出现问题时,可以从断点继续上传。 三、Java Applet实现FTP批量大文件上传下载 在Java中实现...
标题 "java 读取Ftp指定位置的文件解析并入库" 涉及到的是使用Java编程语言通过FTP(File Transfer Protocol)协议从远程服务器上下载文件,然后对下载的文件进行解析,并将解析得到的数据存储到数据库中。...
连接FTP服务器 ```java public boolean open() { if (ftpClient != null && ftpClient.serverIsOpen()) return true; try { ftpClient = new FtpClient(); ftpClient.openServer(server, port); ftpClient....
一个简单的demo,适合初学者,java语言使用第三方API,进程FTP上传下载的demo
总之,Java FTP客户端源代码提供了一个平台,让你可以利用Java的强大力量来实现文件的上传、下载和管理。通过学习和实践,你将能够掌握FTP通信的核心概念,并将这些知识应用到你的项目中,提升你的开发技能。