/**
* Description: 向FTP服务器上传文件
* @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建
* @param url FTP服务器hostname
* @param port FTP服务器端口
* @param username FTP登录账号
* @param password FTP登录密码
* @param path FTP服务器保存目录
* @param filename 上传到FTP服务器上的文件名
* @param input 输入流
* @return 成功返回true,否则返回false
*/
public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(url, port);//连接FTP服务器
//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login(username, password);//登录
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory(path);
ftp.storeFile(filename, input);
input.close();
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
http://commons.apache.org/net/api/org/apache/commons/net/ftp/FTPClient.html
apache开源FTPClient实现FTP的上传功能问题
分享到:
相关推荐
在本文中,我们将深入探讨如何使用Apache Commons Net库中的FTP客户端类来实现FTP文件传输操作。首先,我们需要理解FTP的基本概念。 FTP是一种应用层协议,用于在互联网上进行文件传输。它允许用户从远程服务器上传...
FTPClient 是一个基于 Java 的 FTP 客户端库,提供了丰富的 FTP 操作 API,例如上传、下载、删除文件等。然而,在高并发场景下,频繁创建和销毁 FTPClient 对象可能会对服务器造成很大的压力。 为了解决这个问题,...
org.apache.commons.net.ftp的官方完整jar包 放心使用
其中,FTPClient组件提供了全面的FTP协议支持,包括上传、下载文件,创建和删除目录,设置权限等操作。该库还支持FTP over SSL/TLS(FTPS)和FTPES(Explicit FTP over SSL/TLS),确保数据传输的安全性。 2. **...
ftpClient.changeWorkingDirectory(path); ftpClient.enterLocalPassiveMode(); //由于apache不支持中文语言环境,通过定制类解析中文日期类型 ... FTPFile[] files = ftpClient.listFiles();
`FTPDemo.java`很可能是包含实际操作的示例程序,它可能展示了如何使用`FTPClientTemplate`进行文件上传、下载、删除等操作。`FtpRuntimeException.java`可能是自定义的异常类,用于捕获FTP操作过程中可能出现的问题...
7. **线程安全**:在多线程环境中,由于FTPClient对象不是线程安全的,所以每个线程应拥有独立的`FTPClient`实例,或者使用同步机制(如synchronized关键字)来保证对FTPClient的操作是互斥的。 8. **资源释放**:...
使用JDK1.8、SpringBoot2.2.10.RELEASE、lombok1.18.8、guava23.0、hutool5.3.10、commons-pool2 2.7.0、tika1.22等实现多Ftp连接池实现,通过守护线程实现连接池内连接可用性校验,配置最大、最小连接个数防止Ftp...
总结一下,"FTP Jar包 Commons等 绝对能用"指的是使用Apache Commons Net库进行FTP操作,这个库提供了全面的FTP功能,包括上传和下载,且经过验证,可以稳定地工作在Java环境中。通过理解并熟练使用这个库,开发者...
你可以通过创建`FTPClient`实例并调用其方法来执行FTP操作,如登录服务器、改变工作目录、上传或下载文件等。 2. **连接设置**:在使用`FTPClient`之前,你需要设置服务器的主机名、端口号、用户名和密码。这些可以...
Apache Commons IO库(common-io)是一个专注于I/O操作的实用工具集,提供了大量的静态方法来处理文件、流、过滤器、读写操作等。其中包含的功能有: 1. 文件操作:如创建、复制、移动、删除文件,以及检查文件属性...
创建和销毁FTPClient对象是非常耗费资源的操作,因此,我们可以使用连接池来复用这些对象,减少创建和销毁的次数,从而提高性能。 那么,什么是对象池呢?对象池是一种机制,它可以管理对象池中对象的生命周期,...
总结来说,通过Apache Commons Net库,我们可以轻松地在Android应用中实现FTP功能,进行文件的上传、下载、目录操作等,从而实现与远程服务器的数据交换。不过,注意在实际开发中,应根据具体需求选择合适的FTP操作...
在描述中提到的博客链接可能包含了一个完整的示例代码,演示了如何使用Apache Commons Net库进行FTP操作。通常,这些示例会涵盖文件的打开、关闭、错误处理以及FTP连接的管理和断开等关键步骤。 标签中提到的“源码...
1. `FTPClient` - Apache Commons Net库中的类,负责建立FTP连接和执行FTP命令。 2. `ProtocolCommandListener` - 监听FTP命令的接口,可以用来跟踪FTP会话中的事件。 3. `FTPFile` - 表示FTP服务器上的文件或目录的...
【common包】通常指的是Apache Commons,这是一个包含各种实用工具类的Java库,提供了丰富的功能,如文件处理、IO操作、日期时间处理等。在FTP下载的上下文中,可能使用了Apache Commons Net库,它提供了一系列与FTP...
Apache Commons Net是一个强大的Java库,专注于网络协议和操作,尤其在FTP(文件传输协议)方面表现出色。本文将深入解析`commons-net-3.6.jar`包,了解其核心功能、使用方法以及在实际开发中的应用。 Apache ...
1. FTP/FTPS模块:Apache Commons Net提供了强大的FTP客户端支持,包括文件上传、下载、列表、删除、重命名等操作,同时也支持FTP over SSL/TLS(FTPS)以确保数据传输的安全性。 2. Telnet模块:这个模块提供了对...
1. FTPClient:这个类是与FTP服务器交互的主要接口,提供了执行FTP命令、处理会话状态和管理文件操作的方法。 2. FTPSClient:扩展了FTPClient,增加了对安全FTP的支持,通过TLS/SSL提供数据加密。 3. FTPFile:表示...