ftpClient.listFiles 获取的目录总数不对

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ftpClient.listFiles 获取的目录总数不对相关的知识,希望对你有一定的参考价值。

我用的是commons-net.jar的包,在使用ftpClient.listFiles(dir)时,对一个目录下如果有文件和子目录,会发现总数不对,出现了两个根目录 ./ 和 ../ ,(比如,我一个目录下有两个子目录,一个文件,总共是三个,但是我看了ftpClient.listFiles的length长度为5)然后在递归子目录时,会先找到了根目录,就会重新找这个总目录了,这是怎么回事呢?

在linux系统下面使用ftpClient.listFiles(dir)出现两个根目录 ./ 和 ../ 是正常的,可以在取文件的时候判断isFile再取 参考技术A /**
* Accepts all (non-null) FTPFile file entries.
*/
public static final FTPFileFilter isFile = new FTPFileFilter()

@Override
public boolean accept(FTPFile file)
return file.isFile();

;
ftpClient.listFiles(folderPath, isFile);即可

以上是关于ftpClient.listFiles 获取的目录总数不对的主要内容,如果未能解决你的问题,请参考以下文章

FTPClient.listFiles() 获取目录里的文件为空的解决

FTPClient.listFiles() 获取目录里的文件为空的解决

FTPClient listFiles 阻塞问题

apache的ftpClient使用记录

apache的ftpClient使用记录

FTP下载时连接正常获取不到数据