Java语言实现简单FTP软件 FTP连接管理模块实现(8)

本文为大家介绍了FTP连接管理模块的实现方法,供大家参考,具体内容如下

(1)FTP连接

运行FTP客户端后,首先是连接FTP服务器,需要输入FTP服务器的IP地址及用户名、密码以及端口号后点击连接按钮开始连接FTP服务器,连接流程图如下图所示。

点击“连接”按钮后,会调用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; // 并结束事件处理
  }
  // 设置本地资源管理面板的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资源表格内容,清除本地面板的队列等,断开端连接模块流程图如图所示。

点击“断开”按钮,会触发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资源表格内容
    frame.getLocalPanel().getQueue().clear(); // 清除本地面板的队列
    // 如果FTP连接对象存在,并且已经连接FTP服务器
    if (frame.ftpClient != null && frame.ftpClient.serverIsOpen()) {
      frame.ftpClient.sendServer("quit\r\n"); // 发送断开连接的FTP协议的命令
      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();
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java 实现FTP服务实例详解

    Java 实现FTP服务实例详解 1.FTP简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."

  • Java语言实现简单FTP软件 FTP软件本地窗口实现(5)

    本文为大家介绍了FTP软件本地窗口的实现方法,供大家参考,具体内容如下 1.首先看一下本地窗口的布局效果 2.看一下本地窗口实现的代码框架 3.本地窗口的具体实现代码LocalPanel.java package com.oyp.ftp.panel.local; import java.awt.Color; import java.awt.Desktop; import java.awt.Dimension; import java.awt.event.ItemEvent; import jav

  • Java语言实现简单FTP软件 FTP本地文件管理模块实现(9)

    本文为大家分享了FTP本地文件管理模块的实现方法,供大家参考,具体内容如下 首先看一下界面: 1.本地文件列表的显示功能 将本地的当前目录下所有文件显示出来,并显示文件的属性包括文件名.大小.日期.通过javax.swing.JTable()来显示具体的数据.更改当前文件目录会调用com.oyp.ftp.panel.local.LocalPanel类的listLocalFiles()方法,其主要代码如下 /** * 读取本地文件到表格的方法 */ private void listLocalFi

  • java判断ftp目录是否存在的方法

    本文为大家分享了java判断ftp目录是否存在的方法,供大家参考,具体内容如下 package com.soft4j.log4j; import java.io.IOException; import sun.net.ftp.FtpClient; public class FtpTest { static String middle_ftpServer = "10.103.2.250"; static String middle_user = "ora9iftp";

  • Java语言实现简单FTP软件 FTP上传下载队列窗口实现(7)

    本文为大家介绍了FTP上传下载队列窗口的实现方法,供大家参考,具体内容如下 1.首先看一下队列窗口的界面 2.看一下上传队列窗口的界面 3.看一下下载队列窗口的界面 package com.oyp.ftp.panel.queue; import static java.awt.BorderLayout.CENTER; import static java.awt.BorderLayout.EAST; import static javax.swing.ListSelectionModel.SIN

  • JAVA SFTP文件上传、下载及批量下载实例

    1.jsch官方API查看地址(附件为需要的jar) http://www.jcraft.com/jsch/ 2.jsch简介 JSch(Java Secure Channel)是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功能到你自己的应用程序. SFTP(Secure File Transfer Protocol)安全文件传送协议.可以为传输文件提供一种安全的加密方法.SFTP 为 SSH的一部份,是一种传输

  • Java语言实现简单FTP软件 FTP连接管理模块实现(8)

    本文为大家介绍了FTP连接管理模块的实现方法,供大家参考,具体内容如下 (1)FTP连接 运行FTP客户端后,首先是连接FTP服务器,需要输入FTP服务器的IP地址及用户名.密码以及端口号后点击连接按钮开始连接FTP服务器,连接流程图如下图所示. 点击"连接"按钮后,会调用com.oyp.ftp.FTPClientFrame类的linkButtonActionPerformed(ActionEvent evt)方法,其主要代码程序如下 /** * 连接按钮的事件处理方法 */ riva

  • Java语言实现简单FTP软件 FTP软件主界面(4)

    首先看一下FTP软件的整体代码框架,具体内容如下 1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.UIManager; import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel; public class F

  • Java语言实现简单FTP软件 FTP上传下载管理模块实现(11)

    本文为大家分享了FTP上传下载管理模块的实现方法,供大家参考,具体内容如下 1.上传本地文件或文件夹到远程FTP服务器端的功能. 当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图 选择好要上传的文件或文件夹,点击"上传"按钮,会触发com.oyp.ftp.panel.local.UploadAction类的actionPerformed(ActionEvent e)方法,其主要代码如下 /** * 上传

  • Java语言实现简单的酒店前台管理小功能(实例代码)

    笔者是一名刚上路的小萌新,有什么问题希望大家可以指正! 以下为题目: 为某个酒店编写程序:酒店管理系统,模拟订房.退房.打印所有房间状态等功能. 1.该系统的用户是:酒店前台. 2.酒店使用一个二维数组来模拟."Room[][] rooms;" 3.酒店中的每一个房间应该是一个java对象:Room 4.每一个房间Room应该有:房间编号.房间类型.房间是否空闲. 5.系统应该对外提供的功能: 可以预定房间:用户输入房间编号,订房. 可以退房:用户输入房间编号,退房. 可以查看所有房间

  • Java语言实现简单FTP软件 FTP软件远程窗口实现(6)

    本文为大家介绍了FTP软件远程窗口的实现方法,供大家参考,具体内容如下 1.首先看一下远程窗口的布局效果 2.看一下本地窗口实现的代码框架 3.远程窗口主要实现代码FtpPanel.java package com.oyp.ftp.panel.ftp; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException;

  • Java语言实现简单FTP软件 FTP软件效果图预览之上传功能(3)

    下面展示一下FTP软件上传功能的过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 1.上传前 上传前选择好要将文件或文件夹上传到远程FTP服务器的哪个目的目录下. 2.上传中 添加上传任务 上传任务完成进度显示 3.上传完成 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • Java语言实现简单FTP软件 FTP远程文件管理模块实现(10)

    本文为大家分享了FTP远程文件管理模块的实现方法,供大家参考,具体内容如下 首先看一下界面: 1.远程FTP服务器端的文件列表的显示 将远程的当前目录下所有文件显示出来,并显示文件的属性包括文件名.大小.日期.通过javax.swing.JTable()来显示具体的数据.更改当前文件目录会调用com.oyp.ftp.panel.ftp.FtpPanel类的listFtpFiles(final TelnetInputStream list)方法,其主要代码如下 /** * 读取FTP文件到表格的方

  • Java语言实现简单FTP软件 辅助功能模块FTP站点管理实现(12)

    本文为大家分享了辅助功能模块FTP站点管理的实现方法,供大家参考,具体内容如下 1.FTP站点管理 点击"FTP站点管理"按钮,弹出对话框"FTP站点管理",如下图 1) 连接站点 在FTP站点管理面板上选好要连接的站点,点击"连接"按钮,则会将主机地址.端口号.用户名好,并将密码清空,如下图 到其主要代码如下 if (command.equals("link")) { // 如果单击的是连接按钮 frame.setLinkI

  • Java语言实现简单FTP软件 FTP协议分析(1)

    FTP(File Transfer Protocol)就是文件传输协议.通过FTP客户端从远程FTP服务器上拷贝文件到本地计算机称为下载,将本地计算机上的文件复制到远程FTP服务器上称为上传,上传和下载是FTP最常用的两个功能.FTP使用传输层的TCP协议进行传输,因此客户端与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证.FTP的目标有以下目标: 提高文件的共享性 提供非直接地远程操纵计算机 避免用户因主机之间的文件存储系统的差异而导致的变化 为数据的传送提供可靠性和高

随机推荐