避免“。”和FTP中的“..”目录

时间:2012-09-18 11:13:18

标签: java

当我使用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

2 个答案:

答案 0 :(得分:1)

您只需要将它们过滤掉(它们分别代表当前目录,FTP会自动向您报告这些内容)。

也许使用Apache Commons Collections filter机制?

答案 1 :(得分:1)

您可以使用FTPFileFilter和api
listFiles(String pathname, FTPFileFilter filter)在您的FTPFileFilter班级中查看是否FTPFile.isDirectory()并检查姓名。