public class FtpUtil {
/**
* 连接ftp服务器
* @author zheng_liming
* @param path 服务器上的路径
* @return FtpClient
*/
public static FtpClient connectServer(String path) {
FtpClient ftpClient = new FtpClient();
try {
//ip:例如123.123.12.123
ftpClient.openServer("123.123.12.123");
//登录名,密码:例如:test,password
ftpClient.login("test", "password");
if (path.length() != 0){
path = path.replaceAll("\\\\", "/");
String[] pathArray = path.split("/");
String tempPath = "";
//这里将传入的路径分割后,利用xmkd命令,循环一步一步创建目录
//这样可以避免传入的路径不存在的时候,会报错
for(int i=0;i<pathArray.length;i++){
tempPath = tempPath +"/"+ pathArray[i];
ftpClient.sendServer("XMKD "+tempPath+"\r\n");
ftpClient.readServerResponse();
ftpClient.cd(tempPath);
ftpClient.binary();
}
}
return ftpClient;
} catch (IOException e) {
System.out.println("ftp服务器连接失败!");
e.printStackTrace();
return ftpClient;
}
}
/**
* 关闭ftp服务器连接
* @author zheng_liming
* @param ftpClient 服务器连接
* @return boolean 关闭是否成功
*/
public static boolean closeConnect(FtpClient ftpClient) {
try {
ftpClient.closeServer();
return true;
} catch (IOException e) {
System.out.println("关闭ftp服务器连接失败!");
e.printStackTrace();
return false;
}
}
}