在 FTP 和 Java 上按文件名删除文件
Delete file by filename on FTP with Java
是否可以按文件名删除文件,不带扩展名。我正在使用 FTPClient 连接到我的 FTP 服务器并且运行良好。我只能上传 3 种格式的文件(.png、.jpg、.gif)。事实上,只有当我指定这样的扩展名并工作时,我才能删除该文件:
ftp.deleteFile("/"+productID+setFileName+".png");
但是我想删除文件,不管文件的扩展名是什么,只能删除文件名。谢谢
这取决于您的 ftp 客户端是否已执行 ftp 命令 mdelete
。
AFAIK 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());
}
是否可以按文件名删除文件,不带扩展名。我正在使用 FTPClient 连接到我的 FTP 服务器并且运行良好。我只能上传 3 种格式的文件(.png、.jpg、.gif)。事实上,只有当我指定这样的扩展名并工作时,我才能删除该文件:
ftp.deleteFile("/"+productID+setFileName+".png");
但是我想删除文件,不管文件的扩展名是什么,只能删除文件名。谢谢
这取决于您的 ftp 客户端是否已执行 ftp 命令 mdelete
。
AFAIK 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());
}