2017-06-13 50 views
0

在我的代码中,我必须将70-80个文件上传到FTP服务器。如何关闭一个Zehon FTP连接

最佳方案是创建连接,上传20个文件,关闭它。直到所有文件上传。 我为每个文件尝试了不同的连接......这是一场灾难。

但是,我找不到任何断开()或关闭()函数,这将允许我关闭连接...我发现的唯一的东西是一个静态函数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; 
    } 
} 

回答

0

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