站点管理模块如同一个钥匙环,每个服务器的站点信息就如同一把钥匙,只有使用相对应的用户名和密码才能进入相应的服务器站点。整个模块的中心就是配置服务器的地址、端口号及用户名。用户通过密码进行身份验证,身份验证成功后即可进行接下来的文件管理操作,如图2.10所示。
图2.10 FTP站点管理模块
InputStream类是表示字节输入流的所有类的超类,其常用的子类如表2.1所示。
表2.1 InputStream的子类
本系统使用Properties类将FTP站点信息以属性文件的格式保存在本地磁盘中。这样就实现了FTP站点信息的持久化。代码如下:
实现 Enumeration接口的对象,它生成一系列元素,一次生成一个。Enumeration<E>接口常用的方法如表2.2所示。
表2.2 Enumeration<E>接口的常用方法
本系统使用泛型将站点信息存储到列表组件数据模型DefaultListModel中,通过此模型创建列表组件JList,用于向用户显示站点信息。
创建一个类FtpSiteDialog,该类继承JDialog并实现了ActionListener接口。该类定义了初始化界面的方法创建主窗体,并且定义了事件处理方法对每个按钮进行监听,具体代码如下:
FtpSiteDialog类实现了ActionListener接口与事件处理方法。并且设置该类作为4个维护按钮的事件监听器。在actionPerformed()方法中分别定义了判断和执行4个按钮的方法。程序关键代码如下:
在FTP站点管理对话框的左侧是站点信息列表,该列表显示了所有记录的站点名称,这个名称是用户自己定义的。这些名称是由列表组件数据模型中的站点信息对象提供的。程序关键代码如下:
编写 SiteInfoBean 类,也就是站点信息的 JavaBean ,该类在装载站点数据的loadSiteList()方法和其他站点维护方法中广泛使用,它在这里用于存储FTP站点的名称、地址、用户名和端口号等信息,另外还重写了 toString()方法,该方法在将一个对象转换为字符串类型时被调用。程序关键代码如下:
在 FTP 站点列表组件中选择某个站点名称,然后单击右侧的“连接”按钮,可以将该 FTP 站点的信息添加到主窗体的登录面板中,然后在登录面板输入密码就可以连接对应的 FTP 服务器了。“连接”按钮的事件处理方法将调用主窗体的 setLinkInfo()方法传递站点信息到登录面板中。程序关键代码如下:
“添加”和“编辑”按钮的事件处理方法定义了显示不同的对话框,通过对话框完成相应的操作。这两个对话框中都包含“确定”和“重置”按钮,这两个按钮要根据不同的对话框类型,判断执行的操作,例如单击“确定”按钮时要判断应该执行站点的添加操作,还是应该执行修改操作。程序关键代码如下:
编写“删除”按钮的事件处理方法。该事件处理方法将根据 bean 参数从属性集合中删除指定编号的站点信息。程序关键代码如下: