點(diǎn)擊“連接”按鈕后,會(huì)調(diào)用com.oyp.ftp.FTPClientFrame類的linkButtonActionPer" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件------>連接管理模塊的

系統(tǒng) 2446 0

(1) FTP 連接

運(yùn)行 FTP 客戶端后,首先是連接 FTP 服務(wù)器,需要輸入 FTP 服務(wù)器的 IP 地址及用戶名、密碼以及端口號(hào)后點(diǎn)擊連接按鈕開(kāi)始連接 FTP 服務(wù)器,連接流程圖如下圖 所示。

Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件------>連接管理模塊的實(shí)現(xiàn):主機(jī)與服務(wù)器之間的連接與關(guān)閉操作(八)

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

            /**
	 * 連接按鈕的事件處理方法
	 */
	private void linkButtonActionPerformed(java.awt.event.ActionEvent evt) {
		try {
			String server = serverTextField.getText(); // 獲取服務(wù)器地址
			if (server == null) {
				return;
			}
			String portStr = portTextField.getText(); // 獲取端口號(hào)
			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); // 連接服務(wù)器
			ftpClient.login(userStr, passStr); // 登錄服務(wù)器
			ftpClient.binary(); // 使用二進(jìn)制傳輸模式
			if (ftpClient.serverIsOpen()) { // 如果連接成功
				CUT_LINK_ACTION.setEnabled(true); // 設(shè)置斷開(kāi)按鈕可用
			} else { // 否則
				CUT_LINK_ACTION.setEnabled(false); // 設(shè)置斷開(kāi)按鈕不可用
				return; // 并結(jié)束事件處理
			}
			// 設(shè)置本地資源管理面板的FTP連接信息
			localPanel.setFtpClient(server, port, userStr, passStr);
			// 設(shè)置上傳按鈕可用
			localPanel.getActionMap().get("uploadAction").setEnabled(true);
			ftpPanel.setFtpClient(ftpClient);// 設(shè)置FTP資源管理面板的FTP連接信息
			// 設(shè)置下載按鈕可用
			ftpPanel.getActionMap().get("downAction").setEnabled(true);
			ftpPanel.refreshCurrentFolder();// 刷新FTP資源管理面板的當(dāng)前文件夾
			queuePanel.startQueue(); // 啟動(dòng)任務(wù)隊(duì)列線程
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}
  


(2) FTP 斷開(kāi)

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

Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件------>連接管理模塊的實(shí)現(xiàn):主機(jī)與服務(wù)器之間的連接與關(guān)閉操作(八)


點(diǎn)擊“斷開(kāi)”按鈕,會(huì)觸發(fā)com.oyp.ftp.CutLinkAction類的actionPerformed(ActionEvente)方法,其主要代碼如下

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


==================================================================================================

作者:歐陽(yáng)鵬 歡迎轉(zhuǎn)載,與人分享是進(jìn)步的源泉!

轉(zhuǎn)載請(qǐng)保留原文地址 http://blog.csdn.net/ouyang_peng

===================================================================================================


Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件------>連接管理模塊的實(shí)現(xiàn):主機(jī)與服務(wù)器之間的連接與關(guān)閉操作(八)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久精品视频免费播放 | 亚洲综合狠狠 | 免费久久精品 | 欧美乱人免费视频观看 | 免费观看欧美精品成人毛片能看的 | 亚洲产在线精品第一站不卡 | 99久久久久国产精品免费 | 久久99热66这里只有精品一 | 精品视频h | 天天添天天干 | 久久天堂夜夜一本婷婷麻豆 | 色在线国产 | 亚洲综合a | 九色蝌蚪自拍 | 成人国产激情福利久久精品 | 色偷偷亚洲第一成人综合网址 | 亚洲视频一二三 | 国产一区二区在线视频观看 | 这里只有精品99re在线 | 99久9在线 | 免费 | 亚洲精品专区一区二区三区 | 日韩男女视频 | 天天操天天操天天干 | 欧美日韩网站 | 成人国产在线24小时播放视频 | 亚洲va欧美va国产综合久久 | 精品一区二区三区免费视频 | 国产精品久久久久久一区二区三区 | 中文字幕在线观看一区 | 国产黄片毛片 | 91免费在线 | 综合se| 久久青草网站 | 亚洲国产人久久久成人精品网站 | 在线观看黄色免费视频 | 色综合天天综合网亚洲影院 | 日韩欧美综合在线 | 香蕉视频黄色片 | 精品久久综合一区二区 | caoporm超免费公开视频 | 欧美精品日本一级特黄 |