亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何刪除FTP目錄中的所有txt文件?

如何刪除FTP目錄中的所有txt文件?

慕慕森 2023-03-02 15:47:54
我的應用程序將 txt 文件存儲在 FTP 服務器上,該服務器也托管在網絡服務上。在我托管 txt 文件的目錄中,我可以找到其他 txt 文件。每次存儲新文件時,我都想刪除當前目錄中的所有文件。實際上我正在嘗試使用以下命令:FTPClient ftpClient = new FTPClient();ftpClient.connect(siteFTP);if (ftpClient.login(usrFTP, pswFTP)) {  ftpClient.enterLocalPassiveMode();            FTPFile[] remoteFiles = ftpClient.listFiles(path);  if (remoteFiles.length > 0) {    ftpClient.deleteFile("/prenotazioni/*.txt");  }}但即使該目錄中有 txt 文件,FTP 響應也是:> DELE /prenotazioni/*.txt> 550 File not found
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

使用*是不行的。在您獲得聲明目錄中的文件列表后,您必須迭代它并使用deleteFile(String pathname)(同時檢查文件名endsWith(".txt"))一個一個地刪除文件。

各有FTPFile辦法getName()。您應該構建完整路徑,以便FTPClient知道要刪除的文件。我相信它會是這樣的:

ftpClient.deleteFile("/prenotazioni/" + remoteFiles[i].getName());


查看完整回答
反對 回復 2023-03-02
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

完整方法:


    public static void deleteFilesInFolderFtp(String dirPath, FTPClient ftpClient) {

    try {

        // use local passive mode to pass firewall

        ftpClient.enterLocalPassiveMode();

        FTPFile[] remoteFiles = ftpClient.listFiles("/" + dirPath);

        if (remoteFiles.length > 0) {

            for (int i = 0; i < remoteFiles.length; i++) {

                ftpClient.deleteFile("/" + dirPath + "/" + remoteFiles[i].getName());

            }

        }

    } catch (IOException ex) {

        ex.printStackTrace();

    }

}


查看完整回答
反對 回復 2023-03-02
  • 2 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號