在 FTP 和 Java 上按文件名删除文件

Delete file by filename on FTP with Java

是否可以按文件名删除文件,不带扩展名。我正在使用 FTPClient 连接到我的 FTP 服务器并且运行良好。我只能上传 3 种格式的文件(.png、.jpg、.gif)。事实上,只有当我指定这样的扩展名并工作时,我才能删除该文件:

ftp.deleteFile("/"+productID+setFileName+".png");

但是我想删除文件,不管文件的扩展名是什么,只能删除文件名。谢谢

这取决于您的 ftp 客户端是否已执行 ftp 命令 mdelete

A​​FAIK mdelete 接受通配符。或者如果您的服务器在执行删除命令时接受通配符。

您是否尝试过执行:

ftp.deleteFile("/"+productID+setFileName+".*");

startsWith()函数怎么样?

org.apache.commons.net.ftp.FTPClient ftpClient=new FTPClient();  //instantiate the FTPClient
FTPFile[] ftpFiles=ftpClient.listFiles();//get the list of files in the root directory of the FTP server
for(FTPFile tempFtpFile:ftpFiles)
{
  //go through the list of files and delete those that start with your required prefix
  String tempFtpFileName=tempFtpFile.getName();
  if(tempFtpFileName.startsWith(productID+setFileName))
   ftpClient.deleteFile(tempFtpFile.getName());
}