2017-03-17 88 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