2012-09-18 40 views
0

当我使用Apache公共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 
+1

之后只需从阵列中移除它们?它们是来自'LIST'命令的标准结果的一部分。 –

+0

将它们过滤掉 –

回答

1

你只好将它们过滤出来(他们所代表的当前目录,分别和FTP会自动报告给你)。

也许使用Apache Commons Collections filter机制?

1

您可以使用FTPFileFilter和API
listFiles(String pathname, FTPFileFilter filter)
在你FTPFileFilter类检查,如果FTPFile.isDirectory(),并检查该名称。