如何删除 FTP 目录中的所有 txt 文件?

How to delete all txt files inside an FTP directory?

我的应用程序将 txt 文件存储在 FTP 服务器上,该服务器也托管在网络服务上。

在我托管 txt 文件的目录中,我可以找到其他 txt 文件。每次存储新文件时,我都想删除当前目录下的所有文件。

实际上我正在尝试使用以下命令:

FTPClient ftpClient = new FTPClient();
ftpClient.connect(siteFTP);
if (ftpClient.login(usrFTP, pswFTP)) {
  ftpClient.enterLocalPassiveMode();          
  FTPFile[] remoteFiles = ftpClient.listFiles(path);
  if (remoteFiles.length > 0) {
    ftpClient.deleteFile("/prenotazioni/*.txt");
  }
}

但是即使那个目录下有txt文件,FTP响应也是:

> DELE /prenotazioni/*.txt
> 550 File not found

使用* 无效。在您获得声明目录中的文件列表后,您必须迭代它并使用 deleteFile(String pathname) 逐一删除文件(同时检查文件名是否为 endsWith(".txt"))。

每个 FTPFile 都有方法 getName()。您应该构建完整路径,以便 FTPClient 知道要删除的文件。我相信它会是这样的:

ftpClient.deleteFile("/prenotazioni/" + remoteFiles[i].getName());