本文介绍了Java语言实现简单F TP软辅助功能模块F TP站点管理的实现方法具有一定的参考价值感兴趣的小伙伴们可以参考一下。想了解更多相关信息请持续关注我们应届毕业生考试网!
1、 F TP站点管理
点击“F TP站点管理”按钮弹出对话框“F TP站点管理”如下图
1)连接站点
在F TP站点管理面板上选好要连接的站点 点击“连接”按钮则会将主机地址、端口号、用户名好并将密码清空如下图
到其主要代码如下if (command.equals("link")) { //如果单击的是连接按钮frame.setLinkInfo(bean); //调用setLinkInfo()方法
1
dispose(); //关闭FTP站点管理对话框
}
其中调用的是c o m.oyp.ftp.F TP C lie ntF ra me 的setLinkInfo(SiteInfoBean bean)方法其代码如下
/**
*设置F TP连接信息的方法 由F TP站点管理器调用
*/ublic void setLinkInfo(SiteInfoBean bean) {serve rTextField.setText(bean.getServe r()); //设置主机地址portTextField.setText(bean.getPort() +""); //设置端口号userTe xtField.setText(bean.getUse rName()); //设置用户名
P assF ield.set Text(""); //密码清空
PassField.re questFocus(); //密码框请求焦点
2)添加站点
在F TP站点管理面板上点击“添加”按钮会产生一个新的对话框“添加F TP站点”如下图
填写好站点名称、地址、端口号、登陆用户后点击”
2
确 定 ” 或 者 ” 重 置 ” 按 钮 会 触 发com.oyp.ftp.panel.manager.SiteDialog 类 的actionPerfo rmed(Actio nEvent e)方法其代码如下
/**
*界面按钮的事件处理方法
*/
@Overridepublic void actionPerformed(ActionEvent e) {
String command=e.getActionCommand(); //获取按钮的command属性if (comma nd.e qua ls("ok")) { //如果是确定按钮t ry{if(dialo g==nu ll) {dispose();return;
}
//获取界面所有文本框的内容
String siteName=siteNameField.getText().trim();
String server=siteAddressField.getText().trim();
String use rName=loginUse rField.getText().trim();
String po rtStr=po rtField.getText().trim();
3
//判断是否填写了全部文本框if(siteName.isEmpty() | | se rve r.isEmpty()
| |userName.isE mpty() | |po rtStr.isEmpty()) {
JOptionP ane.s howMe ssageDia lo g(this,"请填写全部信息");return;
}int port=Integer.valueOf(portStr);
//创建F TP站点信息的JavaB ean对象
SiteInfoBean bean = new SiteInfoBean(siteName,server,port,userName);
//如果对话框的siteBean不为空if(siteBean!=null)bean.setId(siteBean.getId()); //设置FTP站点的ID编号dialog.addSite(bean); //调用父窗体的addSite方法添加站点dia log.loa dSiteList(); //调用父窗体的loadSiteList方法重载站点列表dispose();
}catch(NullPointerException ex) {
4
ex.printStackTrace();return;
}catch(NumberFormatException ex) {
JOptionP ane.s howMe ssageDia lo g(this,"请正确填写端口号信息");ex.printStackTrace();return;
}
}if (command.equals("cancel")) { //如果是重置按钮if(siteBean==null) //如果对话框的siteBean属性为空clearInput(); //调用清除文本框内容的方法e ls e
//否则initInp ut(); //初始化界面文本框内容
}
}
3)编辑站点
在F TP站点管理面板上选好要编辑的站点 点击“编辑”按钮会产生一个新的对话框“编辑F TP站点”如下图
5
编辑写好站点名称、地址、端口号、登陆用户后点击”确 定 ” 或 者 ” 重 置 ” 按 钮 触 发com.oyp.ftp.panel.manager.SiteDialog 类 的actionPerfo rmed(Actio nEvent e)方法其代码如添加站点里一样。
4)删除站点
在F TP站点管理面板上选好要删除的站点 点击“删除”按钮,调用delSite(SiteInfoBean bean)方法其代码如下
/**
*删除F TP站点的方法
*/public void delSite(SiteInfoBean bean) {
//从站点属性集合对象中移除指定ID编号的站点属性site Info.remove(bean.getId());t ry{
//获取站点属性文件的输出流
FileOutputStream out = newF ile O utputStre am(F IL E);site Info.sto re(out,"F TP站点数据"); //调用store方法存储站点属性
6
loadSiteList(); //重新装载站点列表
}catch(FileNotFoundException e) {e.printStackTrace();
}catch(IOException e) {e.printStackTrace();
}
}
2、上传/下载任务结束后自动关机
在 com.oyp.ftp.panel.queue.QueuePanel 类的refreshQueue()方法里会判断任务队列是否为空以及自动关机按钮是否被按下如果满足条件则执行系统关机命令延迟30秒后自动关机。其代码如下
/**
*刷新队列的方法
*/private synchronized void refreshQueue() {
//如果自动关机按钮被按下并且上传和下载的队列都有任务if (fra me.getShutdownB utton().isSelected()&& lo c alQ ue ue.is E mpty()
&&ftpQueue.isE mpty()) {t ry{
7
//执行系统关机命令延迟30秒钟
Runtime.getRuntime().exec("s hutdown -s -t30");
}catch(IOException e) {e.printStackTrace();
}
}
//创建表格的数据模型对象
DefaultTableModel model = newDefaultTable Mode l(columns,0);
//获取本地上传队列中的任务
Object[] localQueueArray=localQue ue.toArray();
//遍历本地上传任务for(int i=0; i localQueueArray.length; i++) {
Object[]que ueValue=(Object[]) localQueueArray[i];if(que ueVa lue==null)c o ntinue;
File localFile=(File)queueValue[0];
//把上传队列的任务添加到表格组件的数据模型中model.addRow(new Object[]{ lo c alF ile.getAbso luteF ile(), &quo t; 上 传",ftpClient.getServer(), i == 0 ?"正在上传:
8
"等待上传});
}
//获取下载队列的任务
Object[] ftpQueueArray=ftpQueue.toArray();
//遍历下载队列for(int i=0; i ftpQueueArray.length; i++) {
Object[]queueValue=(Object[])ftpQueueArray[i];if(que ueVa lue==null)c o ntinue;
FtpFile ftpFile=(FtpFile)queueValue[0];
//把下载队列的任务添加到表格组件的数据模型中model.addRow(new Object[]{ftpFile.getAbso luteP ath(),"下载",ftpClient.getServer(), i == 0 ?"正在下载:"等待下载});
}que ueTa ble.setMode l(mo del); //设置表格使用本方法的表格数据模型
}
3、软件系统化托盘
当点击最小化软件后系统就会变成一个生成系统推盘 点击系统托盘右键会有“显示主窗体”和“退出”两个菜
9
轻云互联怎么样?轻云互联,广州轻云网络科技有限公司旗下品牌,2018年5月成立以来,轻云互联以性价比的价格一直为提供个人,中大小型企业/团队云上解决方案。本次轻云互联送上的是美国圣何塞cn2 vps(免费50G集群防御)及香港沙田cn2 vps(免费10G集群防御)促销活动,促销产品均为cn2直连中国大陆线路、采用kvm虚拟技术架构及静态内存。目前,轻云互联推出美国硅谷、圣何塞CN2GIA云服务器...
快云科技怎么样?快云科技是一家成立于2020年的新起国内主机商,资质齐全 持有IDC ICP ISP等正规商家。我们秉承着服务于客户服务于大众的理念运营,机器线路优价格低。目前已注册用户达到5000+!主营产品有:香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机!产品特色:全配置均20M带宽,架构采用KVM虚拟化技术,全盘SSD硬盘,RAID10阵列, 国...
商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...