2017-03-17 33 views
0

ファイル名を拡張子なしで削除することは可能ですか?私はFTPClientを使って自分のFTPサーバーに接続し、素晴らしい仕事をしています。私は3つのフォーマット(.png、.jpg、.gif)でファイルをアップロードすることができます。実際、私はその仕事のように拡張子を指定した場合にのみファイルを削除できます。ファイルをファイル名で削除してFTPでファイルを削除する

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

しかし、私は関係なく、ファイル名だけで、ファイルの拡張子が何であるかのファイルを削除しないようにしたいです。ありがとう

+0

の可能性のある重複した[Javaを使用してFTPサーバーからファイルを削除する方法?](http://stackoverflow.com/questions/6790783/how-to-delete-file-from-ftp-server-using- java) –

答えて

1

どのように?

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はワイルドカードを受け入れます。または、サーバーが削除コマンドを実行するときにワイルドカードを受け入れる場合。

は、実行しようとした:startsWith()機能について

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

私は実装されていないと考えています。 –

+0

@IosifPetrovワイルドカードを試してみましたか? – freedev

関連する問題