簡體   English   中英

如何關閉Zehon FTP連接

[英]How to close a Zehon FTP connection

在代碼的某一時刻,我必須將70-80個文件上傳到FTP服務器。

最好的情況是創建一個連接,上傳20個文件,然后關閉它。 這樣做直到所有文件都被上傳。 我為每個文件嘗試了不同的連接...那是一場災難。

但是,我找不到任何允許我關閉連接的disconnect()或close()函數...我發現的只是靜態函數closeCache(),建議僅在關閉軟件之前使用它...所以不是真的為我工作...

上傳25個文件后,我總是收到“服務器關閉的連接”異常。

我可能對這個API不太了解。

public static boolean uploadFiles() {
    int count = 0;
    FTPClient ftpClient = new FTPClient(SERVER, USER, PASSWORD);
    try {
        if (!Tools.isListNullOrEmpty(xmlFilesToBeUploaded)) {
            for (File xmlFile : xmlFilesToBeUploaded) {
                if (count == MAX_FILES_PER_CONNECTION) {
                    count = 0;
                    ftpClient = null;
                    ftpClient = new FTPClient(SERVER, USER, PASSWORD);
                }

                // "/" for root folder
                ftpClient.sendFile(xmlFile.getAbsolutePath(), "/");
                count++;
            }
        }
        xmlFilesToBeUploaded = null;
        if (!Tools.isListNullOrEmpty(imageFilesToBeUploaded)) {
            for (File imageFile : imageFilesToBeUploaded) {
                if (count == MAX_FILES_PER_CONNECTION) {
                    count = 0;
                    ftpClient = null;
                    ftpClient = new FTPClient(SERVER, USER, PASSWORD);
                }

                // "/" for root folder
                ftpClient.sendFile(imageFile.getAbsolutePath(), "/" + IMAGES_FOLDER);
                count++;
            }
        }
        imageFilesToBeUploaded = null;
        return true;
    } catch (FileTransferException e) {
        Log.error(e);
        return false;
    }
}

沒關系,我使用了Apache Commons庫,該庫完成了我所需的工作,並且對開發更靈活。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM