本文主要介绍如何使用Apache工具集commons-net提供的ftp工具实现向ftp服务器上传和下载文件。
一、准备
需要引用commons-net-3.5.jar包。
- 使用maven导入:
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.5</version>
</dependency>
- 手动下载:
http://central.maven.org/maven2/commons-net/commons-net/3.5/commons-net-3.5.jar
二、连接FTP Server
/**
* 连接FTP Server
* @throws IOException
*/
public static final String ANONYMOUS_USER="anonymous";
private FTPClient connect(){
FTPClient client = new FTPClient();
try{
//连接FTP Server
client.connect(this.host, this.port);
//登陆
if(this.user==null||"".equals(this.user)){
//使用匿名登陆
client.login(ANONYMOUS_USER, ANONYMOUS_USER);
}else{
client.login(this.user, this.password);
}
//设置文件格式
client.setFileType(FTPClient.BINARY_FILE_TYPE);
//获取FTP Server 应答
int reply = client.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)){
client.disconnect();
return null;
}
//切换工作目录
changeWorkingDirectory(client);
System.out.println("===连接到FTP:"+host+":"+port);
}catch(IOException e){
return null;
}
return client;
}