import org.apache.commons.net.ftp.*;
import java.io.File;
import java.io.IOException;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.net.SocketException;
public class FtpOperator {
FtpConfig ftpConfig;
public FtpOperator(FtpConfig ftpConfig) {
this.ftpConfig = ftpConfig;
}
public FtpOperator(String serverHost, String port, String user, String password) {
this(new FtpConfig(serverHost, port, user, password, null, null));
}
public FtpOperator(String serverHost, String port){
this(new FtpConfig(serverHost, port, "anonymous", "", null, null));
}
public FtpConfig getFtpConfig() {
return ftpConfig;
}
public void setFtpConfig(FtpConfig ftpConfig) {
this.ftpConfig = ftpConfig;
}
public FTPClient startClient()throws FtpException{
FTPClient ftpClient = new FTPClient();
String serverHost = ftpConfig.getServerHost();
String serverPort = ftpConfig.getServerPort();
int port = 0;
try {
port = Integer.parseInt(serverPort);
} catch (Exception e) {
throw new FtpException("Wrong FTP port:"+ftpConfig.getServerPort());
}
try {
ftpClient.connect(serverHost,port);
String username = ftpConfig.getUser(),
password = ftpConfig.getPassword();
if(!ftpClient.login(username, password))
throw new FtpException("Wrong FTP login/passwd:"+username+"/"+password);
}catch(SocketException se){
throw new FtpException("Socket timeout cannot set.");
}catch(IOException ioe) {
throw new FtpException("Cannot open ftp connection: "+serverHost+":"+serverPort);
}
return ftpClient;
}
public void disposeClient(FTPClient ftpClient){
if(ftpClient==null)
return;
if(ftpClient.isConnected()){
try {
ftpClient.disconnect();
} catch (IOException e) {
}
}
}
相关专题
- FTP服务器 (6200篇文章)
- Java环境安装配置 (6065篇文章)
- Java编程开发手册 (8776篇文章)
- Java的类 (963篇文章)
- Java网络及通讯编程 (711篇文章)
- FTP协议 (710篇文章)
- Java远程通讯的6种可选技术及原理 (279次浏览)
- struts2 + spring + hibernate 实现CRUD (217次浏览)
- 初学者对Hibernate的学习方法 (168次浏览)
- MyEclipse搞定hibernate的web应用 (104次浏览)
- 多动鼠标少动脑,Java报表工具的简约之美 (92次浏览)
- 多种计时器的比较与分析 (90次浏览)
- 没有父类的Java Class是如何从Object继承的 (88次浏览)
- JavaOne大会精彩爆棚 JavaFX成热点 (83次浏览)
- Java深度历险小记 (83次浏览)
- Java基础—异常处理总结 (73次浏览)



