2017-03-17 90 views
0

是否可以通过文件名删除文件,但没有扩展名。我正在使用FTPClient连接到我的FTP服务器,并且工作得很好。我只能以3种格式上传文件(.png,.jpg,.gif)。事实上,我可以删除该文件只如果我指定这样的,工作的延伸:使用Java在FTP上用文件名删除文件

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

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

+0

的可能的复制[如何从FTP服务器上使用Java删除文件?(http://stackoverflow.com/questions/6790783/how-to-delete-file-from-ftp-server-using- java) –

回答

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

它的工作原理。谢谢 :) –

0

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

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

假如你试图执行:

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

我不认为是实施.. –

+0

@IosifPetrov你是否尝试过通配符? – freedev