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

时间:2019-07-03 08:30:51

标签: java android ftp apache-commons-net

我的应用程序将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

1 个答案:

答案 0 :(得分:2)

使用*不起作用。获取声明目录中的文件列表之后,必须对其进行迭代并使用deleteFile(String pathname)逐个删除文件(还要检查文件名endsWith(".txt"))。

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

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