当我使用Apache commons API检索FTP文件时,我得到“。”和所有目录中的“..”目录,包括子目录。我该如何避免这两个目录?有人可以建议我吗?
我的代码是:
client.changeWorkingDirectory("/");
String[] names = client.listNames();
for (String name : names) {
System.out.println("File Name = " + name);
}
FTPFile[] ftpFiles = client.listFiles(); // Want to eliminate "." and ".." files
output:
File Name = .
File Name = ..
File Name = .ftpquota
File Name = file1
File Name = file2
答案 0 :(得分:1)
您只需要将它们过滤掉(它们分别代表当前和父目录,FTP会自动向您报告这些内容)。
也许使用Apache Commons Collections filter机制?
答案 1 :(得分:1)
您可以使用FTPFileFilter
和api
listFiles(String pathname, FTPFileFilter filter)
在您的FTPFileFilter
班级中查看是否FTPFile.isDirectory()
并检查姓名。