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

标签 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

最佳答案

使用 * 不起作用。获得声明目录中的文件列表后,必须迭代它并使用 deleteFile(String pathname) 逐个删除文件(同时检查文件名 endsWith(".txt") )。

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

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

关于java - 如何删除FTP目录中的所有txt文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865979/

相关文章:

java - 如何使用jmeter SOAP/XML-RPC请求采样器?

java - 在 JDBI dropwizard 中使用自定义 where 条件

java - Spring Batch 参数转换不清楚

android - 如何为字符串数组的 XML 字符串创建 java POJO?

python - 为什么 ftp 目录列表这么慢?

java - 有什么方法可以使用 Guava 获取 InputStream 的哈希码吗?

android - 启动画面不首先显示在应用程序上

android - 如何从res文件夹中读取xml文件

java - Spring Integration从动态多个目录读取文件

c# - 远程服务器返回错误 : (421) Service not available, 关闭控制连接