如何关闭Zehon FTP连接

时间:2017-06-13 11:08:32

标签: java ftp

在我的代码中,我必须将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;
    }
}

1 个答案:

答案 0 :(得分:0)

没关系,我使用了Apache Commons库来完成我需要的工作,并且开发更灵活。