站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题利用JAVA向垃圾电子邮件宣战

利用JAVA向垃圾电子邮件宣战

摘要: 计算机技术给我们的日常生活带来了很多便利:来自生产线 的产品、高效的通信以及大量易于访问的信息,然而它同时也带来了垃圾电子邮件......
<iframe align=right frameBorder=0 height=300 marginHeight=0 marginWidth=0 scrolling=no src="http://www.chinabyte.com/tag/cont_flash_software.html" width=360></iframe>  摘 要:计算机技术给我们的日常生活带来了很多便利:来自生产线 的产品、高效的通信以及大量易于访问的信息,然而它同时也带来了垃圾电子邮件。幸运的是, 我们已经有办法对付它。本文将对Java类库的I/O包以及建立在其上的“流”模型进行深入的讨 论,包括:它是如何工作的,Java1.0.2和Java1.1在I/O实现方面的差别,以及如何利用这些知 识建立一个垃圾电子邮件“过滤器”。

  “足不出户,也能至富”
  “神奇的饮食,一周减肥20磅”
  “热情的XXX宝贝想见你”

  有时,我们会收到很多不受欢迎的 电子邮件,这些邮件往往令人不快。那些还没有受垃圾电子邮件之苦的幸运者也应该意识到这 是一个现实的问题。这里我们将介绍一种利用JAVA控制垃圾电子邮件的方法。

  监视敌人

  我们无法逃避垃圾电子邮件,只能 尽量减少它对我们生活的侵扰。最好,也是最有效的方法是阻止人们给我们发不受欢迎的电子 邮件。我们必须在看到垃圾电子邮件之前消除它,那么如何实现呢?

一种行之有效的方法是检查电子邮件的内容,然后决定是否保留它。其实,我们在阅读电子邮件时就是这样做的:我们一个接一个字符、一行接一行地读电子邮件,搜索我们认识地单词,如果其中包括单词“Java”,我们便保留它,如果包括“MakeMoneyFast”,我们便将它扔到垃圾桶里。能否编制一个计算机程序来帮助我们更有效地工作呢?

  战术评估

  下面,我们讨论Java类库I/O包中 的类。Java类库的输入输出类基于一种简单但强大的模型:“流”(Streams)。

  在“流”模型中,信 息从一点“流”到另一点,就象在河流或者管道中一样。在“流”中的任何一点,观察者看到信息一 点一点地顺序流过。这种模型适合现实世界中很多类型的信息,比如来自计算机键盘的键 码(Keycodes)、来自声音文件的声音数据、来自文本文件的一行接一行的文本等都是信息流。



图1“流”中信息从一点传到另一点

  “流”中的一个重 要工具便是“过滤器”(Filters)。“过滤器”从“流”的“上游”获取信息,用某种方式过滤或者处理 后,发送到“流”的“下游”。“流”模型功能强大的关键是可以用一些非常简单的、独立的“过滤器” 串成一个功能强大的复合“过滤器”。



图2“过滤器”中断处理信息流



图3级联“过滤器”

  Java类库将“流”分为两类──输 入和输出,这种区分在理论上是不必要的,但是在实际应用中却是有用的。输入“流”的最初来源 是某一设备或者文件,它将数据从设备或文件输入到程序中,输入“流”在处理中一般是要过滤 的。输出“流”的最终目标也是某一设备或者文件,它将数据从程序输出到设备或文件中,输入“ 流”在处理中一般也是要过滤的。

  有两个原因使我们将Java类库中 的“流”类应用到垃圾电子邮件问题的解决方案中:

  • 可以很容易地将电子邮件看做是一个接一个字符、一行接一行进入到计算机的。
  • 当电子邮件进入计算机时,我们要一个接一个字符、一行接一行地检查是否与我们指定的模板匹配。



↑返回目录
前一篇: JAVA技术专题综述之内部类篇
后一篇: 通过E-mail 共享Java 对象