我试图通过指定路径检查FTP服务器中是否存在远程目录,但是当我提供有效的目录名时,我的代码无法检查。我想检查远程目录是否有效且它不是文件。这是我的代码:
public static boolean checkDirectoryExists(String file) throws IOException {
FTPFile[] files = myClient.listDirectories();
return Arrays.asList(files).contains(file);
}
答案 0 :(得分:0)
只需使用一个循环来自己检查每一个。使用endsWith()
检查相对目录路径的情况。
public static boolean checkDirectoryExists(String file) throws IOException {
FTPFile[] files = myClient.listDirectories();
for (FTPFile file : files) {
if( file.getName().endsWith(file)) return true;
}
returns false;
}
答案 1 :(得分:0)
我的诀窍是使用 listDirectories(目录)。
所以我使用 listDirectories(目录+" /..")
所以就这样做:
答案 2 :(得分:0)
您需要检查的只是ftpClient.cwd("您的目录名称")
这将返回整数值
250
- 如果文件存在
OR
550
- 如果档案不存在
例如,
if(ftpClient.cwd(uploadDirectoryPath)==550){
System.out.println("Directory Doesn't Exists");
}else if(ftpClient.cwd(uploadDirectoryPath)==250){
System.out.println("Directory Exists");
}else{
System.out.println("Unknown Status");
}