如何删除 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());
我的应用程序将 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());