title: FTPClient SocketTimeoutException Read timed out
body: <p>I have a given FTP Server. I can connect to the server per WinSCP and other programs. I had allready a connection via Java to the server but after a while I can not connect. Per WinSCP I can connect the whole time. Now there is the question if the server is the reason of the problem or the program.</p>
  
  <p>There is my Code:</p>
  
  <pre><code>private FTPClient ftpClient = null;
  
  public FtpServerConnector() throws Exception {
      ftpClient = new FTPClient();
      ftpClient.connect(url);
      ftpClient.login(username, password);
  }
  
  public List&lt;FTPFile&gt; getDirectory(String directoryPath) throws Exception {
      FTPFile[] files = ftpClient.listFiles(directoryPath);
      List&lt;FTPFile&gt; result = new ArrayList&lt;FTPFile&gt;();
      for (FTPFile ftpFile : files) {
          if (ftpFile.getTimestamp().getTime().getTime() &gt;= Long.parseLong("1451606400000")) {
              result.add(ftpFile);
          }
      }
      return result;
  }
  
  public static void main(String[] args) {
      try {
          FtpServerConnector ftpServerConnector = new FtpServerConnector();
          List&lt;FTPFile&gt; folders = ftpServerConnector.getDirectory("/");
          for (FTPFile ftpFile : folders) {
              System.out.println(ftpFile.getName());
          }
      } catch (Exception e) {
          e.printStackTrace();
      }
  }
  </code></pre>
  
  <p>There is the Exception:</p>
  
  <pre><code>java.net.SocketTimeoutException: Read timed out
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
  at java.net.SocketInputStream.read(SocketInputStream.java:170)
  at java.net.SocketInputStream.read(SocketInputStream.java:141)
  at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
  at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
  at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
  at java.io.InputStreamReader.read(InputStreamReader.java:184)
  at java.io.BufferedReader.fill(BufferedReader.java:161)
  at java.io.BufferedReader.read(BufferedReader.java:182)
  at org.apache.commons.net.io.CRLFLineReader.readLine(CRLFLineReader.java:58)
  at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:314)
  at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294)
  at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:483)
  at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:608)
  at org.apache.commons.net.ftp.FTP.port(FTP.java:932)
  at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:812)
  at org.apache.commons.net.ftp.FTPClient._openDataConnection_(FTPClient.java:759)
  at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3293)
  at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:3271)
  at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2930)
  at com.kianaanalytics.eventManagement.util.FtpServerConnector.getDirectory(FtpServerConnector.java:38)
  at com.kianaanalytics.eventManagement.util.ImportWorker.getAllNewFairFolders(ImportWorker.java:19)
  </code></pre>