就当天,我又碰到了个问题,就是Ftp上传文件只能在根目录(设置好的路径比如/test),后面经过翻阅博客,发现是因为ftp不能创建多级目录,经过一翻查找和修改,有了个能用的方法
/**
* 创建多级目录
* @param ftp 一个连接有效的ftp连接
* @param path 可能需要创建的多级目录路径,/分隔
*/
public static void createDirs(FTPClient ftp , String path){
/*该部分为逐级创建*/
String[] split = path.split("/");
try {
for (String str : split) {
if(StringUtils.isBlank(str)) {
continue;
}
if (!ftp.changeWorkingDirectory(str)) {
log.warn("FTP: 目录不存在");
boolean makeDirectory = ftp.makeDirectory(str);
boolean changeWorkingDirectory = ftp.changeWorkingDirectory(str);
log.warn(str + "FTP: 创建结果:" + makeDirectory + ";切换工作目录结果:" + changeWorkingDirectory);
} else {
log.warn("目录已存在");
}
}
}catch (Exception e){
e.printStackTrace();
log.warn(e.getMessage());
}
}
如果还碰到其他ftp连接上了无法获取文件,或者下载文件的问题,可以看看