2017-06-13 22 views
0

私のコードのある時点で、私はFTPサーバーに70-80ファイルをアップロードする必要があります。Zehon FTP接続を閉じるには

ベストシナリオは、接続を作成し、20個のファイルをアップロードして閉じることです。すべてのファイルがアップロードされるまでこれを行います。 ファイルごとに異なる接続を試みました...それは災害でした。

しかし、私は任意の切断()または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; 
    } 
} 

答えて

0

私は必要な仕事をしたApache Commonsライブラリを使用しましたが、これは開発に柔軟性があります。

関連する問題