如何从服务器上删除消息
从服务器上删除消息是通过在TRANSACTION状态时发送DELE命令标记供删除的消息来完成的。该消息实际上是在客户端向服务器发送QUIT命令,使服务器进入UPDATE状态时才被真正地删除了。如果程序在发送QUIT命令前过早地终止了,被标记的消息就不会从服务器上删除。
标记供删除的消息
下面的代码中的通过执行语句(加亮行)标记供删除的消息:
| System.out.println("Deletion is temporarily disabled."); //从服务器上删除被临时禁止了。在彻底了解自己在做什么之前不要启用它。 outputStream.println("DELE " + msgNumber); //验证并在GUI上显示它 textArea.append("Msg: " + msgNumber + " " + validateOneLine()+"\n"); textArea.append("Marked:" + msgNumber + "\n"); |
注意
在你彻底地测试过这个程序并对它的行为感到满意时才激活这个语句。如果激活了它,你可能由于删除了某些消息,却又没有适当地把它们转发到秘密的电子邮件帐号而造成某些电子邮件消息的丢失。
只要你不从服务器上删除消息,你就可以使用正常的电子邮件客户端程序阅读它们。
移动消息文件
下面的代码调用moveFile方法把消息文件从公共文件夹移动到文档文件夹:
| moveFile(pathFileName,archivePath); }//结束msgToDelete.size()上的循环 |
上面的代码还表明控制着msgToDelete所指向的Vector集合的内容所标识的所有消息的删除和移动的循环的结束。
终止对话
下面的代码公共发送QUIT命令终止了与公共电子邮件服务器的对话,它引起被标记的消息从服务器上被删除:
| outputStream.println("QUIT"); String quitResponse =validateOneLine(); System.out.println("QUIT " + quitResponse); |
假如对QUIT命令的响应是+OK,服务器就进入UPDATE模式并删除消息。如果响应是-ERR,服务器就不会进入UPDATE模式,并且消息不会被删除。
关闭套接字并清除信息
下面的代码关闭套接字并在图2的文本区域显示一些有用的消息:
| try{ socket.close(); }catch(Exception ex){ ex.printStackTrace(); }// catch结束 textArea.append("\n\nMessages deleted from server.\n"); }//actionPerformed结束 }// ActionListener结束 );// addActionListener结束 |
上面的代码同时表明注册到Delete按钮的ActionListener对象的实例化过程的结束。
配置GUI
下面的代码配置了图2中的GUI,它把多种组件放置在页面上、设置了大小并使它可视。
| add(startButton); add(deleteButton); deleteButton.setEnabled(false); add(textArea); textArea.setText(""); setLayout(new FlowLayout()); setTitle("Copyright 2004, R.G.Baldwin"); setBounds(274,0,400,400); //使GUI可视 setVisible(true); }//构造函数结束 }// VirPro01b类结束 |
上面的代码表明构造函数的结束以及VirPro01b类的结束。URl收藏 http://www.qqread.com/java/2006/06/w655129002.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- QQ病毒 (5064篇文章)
- 手机病毒揭密 (3624篇文章)
- 病毒专栏 (2575篇文章)
- Java环境安装配置 (5627篇文章)
- 中小企业防病毒解决方案 (6022篇文章)
- 电子邮件安全 (8332篇文章)
- Java编程开发手册 (8276篇文章)
- 邮件服务器专题 (7210篇文章)
- 安全频道 (11246篇文章)
- Java与其他集成开发篇 (181篇文章)
- 掌握JAVA的标准 (26次浏览)
- JAVA编译时的常见错误 (25次浏览)
- Ubuntu Linux系统中Java环境的安装配置 (25次浏览)
- 如何在MyEclipse快速搭建Hibernate应用 (15次浏览)
- Nhibernate与代码生成器介绍 (14次浏览)
- 高手为你分析类的设计方法 (12次浏览)
- Java中利用反射实现类的动态加载 (12次浏览)
- JAVA运行时的产间错误 (11次浏览)
- J2SE综合:浅谈java程序发布之 jre 篇 (11次浏览)
- Java敏捷开发技巧之消除代码异味 (10次浏览)



