最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java語言實現(xiàn)簡單FTP軟件 FTP連接管理模塊實現(xiàn)(8)

 更新時間:2017年04月01日 10:50:40   作者:歐陽鵬  
這篇文章主要為大家詳細介紹了Java語言實現(xiàn)簡單FTP軟件,F(xiàn)TP連接管理模塊的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家介紹了FTP連接管理模塊的實現(xiàn)方法,供大家參考,具體內(nèi)容如下

(1)FTP連接 

運行FTP客戶端后,首先是連接FTP服務器,需要輸入FTP服務器的IP地址及用戶名、密碼以及端口號后點擊連接按鈕開始連接FTP服務器,連接流程圖如下圖所示。

點擊“連接”按鈕后,會調(diào)用com.oyp.ftp.FTPClientFrame類的linkButtonActionPerformed(ActionEvent evt)方法,其主要代碼程序如下

/** 
* 連接按鈕的事件處理方法 
*/ 
rivate void linkButtonActionPerformed(java.awt.event.ActionEvent evt) { 
try { 
  String server = serverTextField.getText(); // 獲取服務器地址 
  if (server == null) { 
    return; 
  } 
  String portStr = portTextField.getText(); // 獲取端口號 
  if (portStr == null) { 
    portStr = "21"; 
  } 
  int port = Integer.parseInt(portStr.trim()); 
  String userStr = userTextField.getText(); // 獲取用戶名 
  userStr = userStr == null ? "" : userStr.trim(); 
  String passStr = PassField.getText(); // 獲取密碼 
  passStr = passStr == null ? "" : passStr.trim(); 
  cutLinkButton.doClick(); 
  ftpClient = new FtpClient(); 
  ftpClient.openServer(server.trim(), port); // 連接服務器 
  ftpClient.login(userStr, passStr); // 登錄服務器 
  ftpClient.binary(); // 使用二進制傳輸模式 
  if (ftpClient.serverIsOpen()) { // 如果連接成功 
    CUT_LINK_ACTION.setEnabled(true); // 設置斷開按鈕可用 
  } else { // 否則 
    CUT_LINK_ACTION.setEnabled(false); // 設置斷開按鈕不可用 
    return; // 并結(jié)束事件處理 
  } 
  // 設置本地資源管理面板的FTP連接信息 
  localPanel.setFtpClient(server, port, userStr, passStr); 
  // 設置上傳按鈕可用 
  localPanel.getActionMap().get("uploadAction").setEnabled(true); 
  ftpPanel.setFtpClient(ftpClient);// 設置FTP資源管理面板的FTP連接信息 
  // 設置下載按鈕可用 
  ftpPanel.getActionMap().get("downAction").setEnabled(true); 
  ftpPanel.refreshCurrentFolder();// 刷新FTP資源管理面板的當前文件夾 
  queuePanel.startQueue(); // 啟動任務隊列線程 
} catch (Exception ex) { 
  ex.printStackTrace(); 
} 

(2)FTP斷開

點擊“斷開”按鈕,會停止上傳線程,停止下載線程,清空任務隊列,清除FTP資源表格內(nèi)容,清除本地面板的隊列等,斷開端連接模塊流程圖如圖所示。


點擊“斷開”按鈕,會觸發(fā)com.oyp.ftp.CutLinkAction類的actionPerformed(ActionEvent e)方法,其主要代碼如下

/** 
 * 處理斷開按鈕的按鈕動作事件的方法 
 */ 
@Override 
public void actionPerformed(ActionEvent e) { 
  try { 
    frame.ftpPanel.stopDownThread(); // 停止下載線程 
    frame.localPanel.stopUploadThread(); // 停止上傳線程 
    frame.getFtpPanel().getQueue().clear(); // 清空任務隊列 
    frame.getFtpPanel().clearTable(); // 清除FTP資源表格內(nèi)容 
    frame.getLocalPanel().getQueue().clear(); // 清除本地面板的隊列 
    // 如果FTP連接對象存在,并且已經(jīng)連接FTP服務器 
    if (frame.ftpClient != null && frame.ftpClient.serverIsOpen()) { 
      frame.ftpClient.sendServer("quit\r\n"); // 發(fā)送斷開連接的FTP協(xié)議的命令 
      frame.ftpClient.readServerResponse(); // 讀取返回編碼 
      frame.ftpClient = null; 
    } 
    // 設置上傳按鈕不可用 
    frame.localPanel.getActionMap().get("uploadAction").setEnabled( 
        false); 
    // 設置下載按鈕不可用 
    frame.ftpPanel.getActionMap().get("downAction").setEnabled(false); 
    setEnabled(false); // 設置本按鈕(斷開)不可用 
  } catch (IOException e1) { 
    e1.printStackTrace(); 
  } 
} 

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • java如何用遞歸方法求階乘

    java如何用遞歸方法求階乘

    這篇文章主要介紹了java 用遞歸方法求階乘的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • jdk中密鑰和證書管理工具keytool常用命令詳解

    jdk中密鑰和證書管理工具keytool常用命令詳解

    keytool JAVA是個密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關證書,用于(通過數(shù)字簽名)自我認證(用戶向別的用戶/服務認證自己)或數(shù)據(jù)完整性以及認證服務
    2014-01-01
  • Springboot中useGeneratedKeys用法小結(jié)

    Springboot中useGeneratedKeys用法小結(jié)

    本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個參數(shù),用于指定是否允許 JDBC 支持自動生成主鍵,感興趣的可以了解一下
    2024-09-09
  • SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題

    SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題

    這篇文章主要為大家介紹了SpringBoot2.6.x升級后循環(huán)依賴及Swagger無法使用問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Spring中的@ExceptionHandler注解詳解與應用示例

    Spring中的@ExceptionHandler注解詳解與應用示例

    本文詳細介紹了Spring框架中的@ExceptionHandler注解的用法,包括基本用法、全局異常處理、結(jié)合@ResponseStatus注解以及返回值類型,通過示例展示了如何使用@ExceptionHandler注解處理不同類型的異常,并提供定制化的異常處理響應,需要的朋友可以參考下
    2024-11-11
  • springmvc+kindeditor文件上傳實例詳解

    springmvc+kindeditor文件上傳實例詳解

    這篇文章主要為大家詳細介紹了springmvc+kindeditor文件上傳實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 詳解Java MD5二次加密的應用

    詳解Java MD5二次加密的應用

    MD5的全稱是message-digest algorithm 5 信息-摘要算法。這篇文章主要為大家詳細介紹了Java中MD5二次加密的應用,感興趣的小伙伴可以了解一下
    2023-02-02
  • 詳解最簡單易懂的Spring Security 身份認證流程講解

    詳解最簡單易懂的Spring Security 身份認證流程講解

    這篇文章主要介紹了詳解最簡單易懂的Spring Security 身份認證流程講解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 23種設計模式(6)java裝飾者模式

    23種設計模式(6)java裝飾者模式

    這篇文章主要為大家詳細介紹了23種設計模式之java裝飾者模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Java多線程并發(fā)編程(互斥鎖Reentrant Lock)

    Java多線程并發(fā)編程(互斥鎖Reentrant Lock)

    這篇文章主要介紹了ReentrantLock 互斥鎖,在同一時間只能被一個線程所占有,在被持有后并未釋放之前,其他線程若想獲得該鎖只能等待或放棄,需要的朋友可以參考下
    2017-05-05

最新評論

红桥区| 衡山县| 邵武市| 湾仔区| 岳普湖县| 隆尧县| 陇南市| 托克托县| 遂昌县| 澎湖县| 大方县| 黄石市| 黄石市| 西林县| 闽侯县| 三台县| 黔江区| 黄龙县| 勃利县| 广东省| 包头市| 七台河市| 资阳市| 墨竹工卡县| 乐安县| 佛冈县| 沂源县| 文成县| 文水县| 维西| 长阳| 宝坻区| 阿瓦提县| 绥德县| 思南县| 博野县| 福贡县| 邻水| 台中县| 峨山| 天门市|