用edtftpj实现Java FTP客户端工具
edtftpj是一个java FTP工具包,使用非常方便,感觉比Apache的好用,但Apache更灵活。edtftpj有多种版本,分别是java、.net和js版本。对于Java版的有一个免费版本。我用的就是免费版本。其余的均为商业版本。
为了开发,先下载免费版本的开发包。
目前我用的是2.03。
在开发FTP客户端工具之前,先看看其E文的开发指南:
一、开发指南
1、在开发中,最核心的API在两个类中,分别是:
FileTransferClient 通过构建此对象来是进行FTP文件传输. 支持 "plain" FTP, i.e. RFC 959 FTP
FTPClient 功能和FileTransferClient一样,已经被废弃. 支持 "plain" FTP, i.e. RFC 959 FTP
2、连接一个FTP服务器
1)、构建FileTransferClient对象
FileTransferClient ftp = new FileTransferClient();
2)、设置远程主机和用户认证
3)、登录到服务器
4)、关闭连接
3、设置更多的连接属性
1)、设置自动登录
2)、设置传输缓冲区
3)、设置获取服务器端信息时所使用的编码
4)、设置传输通知的时间间隔
5)、其他的一些设置
4、改变当前的工作目录
1)、获取当前的ftp工作目录
2)、改变当前的工作目录
3)、改变当前的工作目录为其父目录
5、上传与下载、暂停
1)、上传
ftp.uploadFile(java.lang.String localFileName, java.lang.String remoteFileName)
2)、下载
ftp.downloadFile(java.lang.String localFileName, java.lang.String remoteFileName)
3)、暂停所有的传输
当然,以上很多方法都有多中重载格式。下面给出一个简单封装的JavaFTP客户端工具:
二、封装的客户端工具
import com.enterprisedt.net.ftp.FTPException;
import com.enterprisedt.net.ftp.FTPFile;
import com.enterprisedt.net.ftp.FileTransferClient;
import com.enterprisedt.net.ftp.WriteMode;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import jav