【问题标题】:org.apache.commons.net.ftp.FTPClient listFiles always returns files from root directory irrespective of the pathname given in argumentorg.apache.commons.net.ftp.FTPClient listFiles 总是从根目录返回文件,而与参数中给出的路径名无关
【发布时间】:2020-11-11 15:00:51
【问题描述】:

类 FTPClient 中的 listFiles 总是从根目录返回目录或文件,即使路径作为参数给出。

public static void main(String[] args) {
    String server = "192.168.0.60";
    int port = 21;
    FTPClient ftpClient = new FTPClient();
    try {

        ftpClient.connect(server,port);
        ftpClient.enterLocalPassiveMode();
        ftpClient.login("anonymous", "");
        FTPFile[] files = ftpClient.listFiles("/StorageCard");
        for(FTPFile ftpFile: files) {
            System.out.println(ftpFile.getName());
        }
    } catch(IOException io) {
        io.printStackTrace();
    }
}

StorageCard 是根文件夹内的目录

输出我得到的是

  1. 网络内部存储
  2. WinDrive
  3. 存储卡
  4. 应用数据
  5. 我的文档
  6. 程序文件
  7. 窗户
  8. …………

【问题讨论】:

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


    【解决方案1】:

    您应该在使用listFiles()之前更改工作目录

    ftpClient.changeWorkingDirectory("StorageCard");
    FTPFile[] files = ftpClient.listFiles();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 2014-01-09
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 2018-05-31
      相关资源
      最近更新 更多