FTPClient 的changeWorkingDirectory方法设置路径后放回false不知道是为什么?
public FTPFile[] listDataFiles(String datapath) {
FTPClient ftp = new FTPClient();
FTPFile[] files=null;
try {
loadFtpConfig();
int reply;
// 连接FTP服务器
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.connect(ftpHost, ftpPort);
// 下面三行代码必须要,而且不能改变编码格式,否则不能正确下载中文文件
// ftp.changeWorkingDirectory("/home");
ftp.setControlEncoding("UTF-8");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
// 登录ftp
ftp.login(ftpUser, ftpPwd);
// 看返回的值是不是230,如果是,表示登陆成功
reply = ftp.getReplyCode();
// 以2开头的返回值就会为真
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
System.out.println("连接服务器失败");
return null;
}
System.out.println("登陆服务器成功");
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
// ftp.enterRemotePassiveMode();
boolean isChanhge=ftp.changeWorkingDirectory(datapath);
files=ftp.listFiles();
// files=ftp.listFiles("/home/ufida");
ftp.logout();
} catch (BusinessException e) {
e.printStackTrace();
}catch (SocketException e) {
Logger.error(ftpHost+"连接失败!");
}catch (IOException e) {
}
return files;
}