我正在使用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()

无法回答我的问题的相关问题:


Apache Commons Net FTPClient and listFiles()
Issue with org.apache.commons.net.ftp.FTPClient listFiles()

最佳答案

本主题可以帮助您使listFiles工作:

FTPClient.listFiles not working

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


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

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

关于java - Apache FTPClient listFiles()与listFileNames(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34153004/

10-10 02:04