使用Java在FTP上按文件名删除文件

时间:2017-03-17 15:58:27

标签: java ftp ftp-client

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

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

但我想删除文件,无论文件的扩展名是什么,只能通过文件名。感谢

2 个答案:

答案 0 :(得分:1)

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());
}

答案 1 :(得分:0)

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

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

你试过执行:

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