FTPClient ftpClient = new FTPClient();
ftpClient.setConnectTimeout(10*1000); // 10s,如果超過就判定超時了
ftpClient.connect(hostName, 21);
Class org.apache.commons.net.
SocketClient
void |
setConnectTimeout(int connectTimeout)
Sets the connection timeout in milliseconds, which will be passed to the Socket object's connect() method.
|
1 /** 2 * 登錄FTP服務器 3 * 4 * @param host 5 * FTP主機地址 6 * @param port 7 * FTP主機端口 8 * @param username 9 * 用戶名 10 * @param password 11 * 密碼 12 * @throws Exception 13 * 登錄失敗 14 */ 15 public void ftpLogin(String host, int port, String username, String password) 16 throws Exception { 17 client = new FTPClient(); 18 // 設定連接超時時間 19 client.setConnectTimeout(10*1000); 20 try { 21 client.connect(host, port); 22 client.login(username, password); 23 replyCode = client.getReplyCode(); 24 if (!FTPReply.isPositiveCompletion(replyCode)) { 25 reply = client.getReplyString().trim(); 26 throw new Exception("FTP 登錄失敗,響應消息:" + reply); 27 } 28 log.info("FTP 登錄成功"); 29 30 // 設置緩沖區 31 client.setBufferSize(BufferSize); 32 // 設置傳輸模式 33 // client.setFileType(FTP.BINARY_FILE_TYPE); 34 } catch (Exception e) { 35 log.error(e.getMessage(), e); 36 throw new Exception("FTP 登錄失敗"); 37 } 38 }