Apache FTPClient listFiles()vs listFileNames()

时间:2015-12-08 10:03:28

标签: java apache ftp ftp-client apache-commons-net

我正在使用apache-commons-net 3.4,我发现了一个我无法解释的奇怪问题。我想获取目录的FTPFile条目,但是当我使用FTPClient#listFiles()时,会返回一个空数组,但FTPClient#listNames()列出所有条目。

    FTPClient client = new FTPClient();

    client.connect("192.168.1.4");
    client.enterLocalPassiveMode();
    client.login("ftpuser", "ftpuser");

    System.out.println( client.listFiles("/").length); // prints 0
    System.out.println( client.listNames("/").length); // prints 21

这里发生了什么listFiles()如何正确使用?

没有回答我的问题的相关问题:

1 个答案:

答案 0 :(得分:1)

此主题可以帮助您listFiles工作:

FTPClient.listFiles not working

FtpClient的文档中,这两种方法的工作方式不同:

  

listFiles (字符串路径名)使用默认系统自动检测   机制,获取当前工作目录或单个文件的文件信息列表。获取此信息   通过 LIST命令

     

listNames (String pathname)获取目录中的文件名列表   (或者只是给定文件的名称,这不是特别有用)。这些信息是通过 NLST命令获得的。

相关问题