有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何关闭Zehon 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) 个答案

  1. # 1 楼答案

    不过,我使用了ApacheCommons库,它完成了我需要的工作,并且在开发中更加灵活