亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用JAVA向垃圾電子郵件宣戰

2019-11-18 13:29:38
字體:
來源:轉載
供稿:網友

  摘 要:計算機技術給我們的日常生活帶來了很多便利:來自生產線 的產品、高效的通信以及大量易于訪問的信息,然而它同時也帶來了垃圾電子郵件。幸運的是, 我們已經有辦法對付它。本文將對java類庫的I/O包以及建立在其上的“流”模型進行深入的討 論,包括:它是如何工作的,Java1.0.2和Java1.1在I/O實現方面的差別,以及如何利用這些知 識建立一個垃圾電子郵件“過濾器”。
  “足不出戶,也能至富”
  “神奇的飲食,一周減肥20磅”
  “熱情的XXX寶貝想見你”
  有時,我們會收到很多不受歡迎的 電子郵件,這些郵件往往令人不快。那些還沒有受垃圾電子郵件之苦的幸運者也應該意識到這 是一個現實的問題。這里我們將介紹一種利用JAVA控制垃圾電子郵件的方法。
  監視敵人
  我們無法逃避垃圾電子郵件,只能 盡量減少它對我們生活的侵擾。最好,也是最有效的方法是阻止人們給我們發不受歡迎的電子 郵件。我們必須在看到垃圾電子郵件之前消除它,那么如何實現呢?
  一種行之有效的方法是檢查電子郵件的內容,然后決定是否保留它。其實,我們在閱讀電子郵件時就是這樣做的:我們一個接一個字符、一行接一行地讀電子郵件,搜索我們熟悉地單詞,假如其中包括單詞“Java”,我們便保留它,假如包括“MakeMoneyFast”,我們便將它扔到垃圾桶里。能否編制一個計算機程序來幫助我們更有效地工作呢?
  戰術評估
  下面,我們討論Java類庫I/O包中 的類。Java類庫的輸入輸出類基于一種簡單但強大的模型:“流”(Streams)。
  在“流”模型中,信 息從一點“流”到另一點,就象在河流或者管道中一樣。在“流”中的任何一點,觀察者看到信息一 點一點地順序流過。這種模型適合現實世界中很多類型的信息,比如來自計算機鍵盤的鍵 碼(Keycodes)、來自聲音文件的聲音數據、來自文本文件的一行接一行的文本等都是信息流。
   利用JAVA向垃圾電子郵件宣戰(圖一)
  圖1“流”中信息從一點傳到另一點
  “流”中的一個重 要工具便是“過濾器”(Filters)?!斑^濾器”從“流”的“上游”獲取信息,用某種方式過濾或者處理 后,發送到“流”的“下游”?!傲鳌蹦P凸δ軓姶蟮囊κ强梢杂靡恍┓浅:唵蔚?、獨立的“過濾器” 串成一個功能強大的復合“過濾器”。
   利用JAVA向垃圾電子郵件宣戰(圖二)
  圖2“過濾器”中斷處理信息流
  利用JAVA向垃圾電子郵件宣戰(圖三)
  圖3級聯“過濾器”
  Java類庫將“流”分為兩類──輸 入和輸出,這種區分在理論上是不必要的,但是在實際應用中卻是有用的。輸入“流”的最初來源 是某一設備或者文件,它將數據從設備或文件輸入到程序中,輸入“流”在處理中一般是要過濾 的。輸出“流”的最終目標也是某一設備或者文件,它將數據從程序輸出到設備或文件中,輸入“ 流”在處理中一般也是要過濾的。
  有兩個原因使我們將Java類庫中 的“流”類應用到垃圾電子郵件問題的解決方案中:
  可以很輕易地將電子郵件看做是一個接一個字符、一行接一行進入到計算機的。
  當電子郵件進入計算機時,我們要一個接一個字符、一行接一行地檢查是否與我們指定的模板匹配。
  兵工廠──“流”類具體介紹
  Java1.1說明書中描述了兩種基 本相同的輸入和輸出類集,一種是面向字節的,另一種是面向字符的。面向字節“流”類與在Java 1.0.2中實現的只有微小的差別,而面向字符“流”類是在Java1.1版本中最新實現的。
  本文中我們討論面向字節的“流”類,這樣做有兩個原因。首先,對那些沒有使用Java1.1的人也可以利用這份材料;其次,我們可以指出Java1.0.2中類庫中出現、在Java1.1中已經修正的一些錯誤。
  上面已經提過,“流”可以分為兩類:輸入“流”和輸出“流”。在Java中,所有面向字節的輸入“流”類都是抽象類InputStream的子類,InputStream定義了所有輸入“流”類必須提供的一套基本方法(Mothods)。同樣,所有面向字節的輸出“流”類都是抽象類OutputStream的子類,OutputStream定義了所有輸出“流”類必須提供的一套基本方法(Mothods)。
  通用輸入“流”類方法
  以下是對所有輸入“流”通用的方 法,每個方法說明之后列出了方法能執行的任務。
  publicint read()throws IOException
  從輸入“流”讀一個 字節并且返回此字節。
  假如已經 到了輸入“流”的結尾,則返回-1。
  假如必要,阻塞(或等待)直到數據可用。
  當讀操作時發生錯誤,則拋 出IOException異常。
  publicint read(byte[]rgb) throws IOException
  從輸入“ 流”讀一字節序列并且置于指定的數組中。
  返回所讀的字節數。
  假如已經到了輸入“流”的結尾, 則返回-1。
  假如必要,阻塞(或等 待)直到數據可用。
  當讀操作時發 生錯誤,則拋出IOException異常。
  publicint read(byte[]rgb, intnOff,intnLen)throws IOException
  從輸入“流”讀一指定長度的字節 序列并且置于指定的數組中指定偏移上。
  返回所讀的字節數。
  假如已經到了輸入“流”的結尾, 則返回-1。
  假如必要,阻塞(或等 待)直到數據可用。
  當讀操作時發 生錯誤,則拋出IOException異常。
  publiclong skip(longn) throws IOException
  跳過指定 的字節數。
  返回跳過的字節數。
  假如已經到了輸入“流”的結尾, 則返回-1。
  當操作時發生錯誤,則 拋出IOException異常。
  publicinta vailable() throws IOException
  返回可以 從輸入“流”中讀取的字節數,而不產生讀操作阻塞。
  當操作時發生錯誤,則拋 出IOException異常。
  publicvoid close()throws IOException
  關閉輸入“流”,釋 放所有與此輸入“流”有關的資源(例如操作系統文件句柄)。
  當操作時發生錯誤,則拋 出IOException異常。
  publicvoid mark(int nReadLimit)
  在輸入“流”中標識 當前位置,以后當調用reset()時,輸入“流”將重新定位在此位置上。
  指定在標識無效之前,標識之后 能讀取的字節數。
  publicvoid reset()throws IOException
  將輸入“流”重新定 位在最近標識的位置上。
  假如“ 流”沒有標識,或者標識已經無效,則拋出IOException異常。
  public boolean mark Supported()
  顯示此輸入“ 流”是否支持mark和reset操作。
  通用輸出“流”類方法
  以下是對所有輸出“流”通用的方 法,與前一部分一樣,每個方法說明之后列出了方法能執行的任務。
  publicvoid write(byteb) throws IOException
  將一個字 節寫入輸出“流”。
  阻塞(或等待) 直到數據真正寫入。
  當寫操作時 發生錯誤,則拋出IOException異常。
  publicvoid write(byte[] rgb)throws IOException
  將一 個字節序列寫入輸出“流”。
  阻塞( 或等待)直到數據真正寫入。
  當寫操作時發生錯誤,則拋出IOException異常。
  publicvoid write (byte[] rgb,intnOff,intnLen) throws IOException
  將一個指定長度的字節序列從指 定的偏移量開始寫入輸出“流”。
  阻塞(或等待)直到數據真正寫入。
  當寫操作時發生錯誤,則拋 出IOException異常。
  publicvoid flush ()throws IOException
  “沖洗”輸出“流”, 立即寫所有的緩沖數據。
  當操作 時發生錯誤,則拋出IOException異常。
  publicvoidclose()throws IOException
  關閉輸出“流”,釋 放所有與此輸出“流”有關的資源(例如操作系統文件句柄)。
  當操作時發生錯誤,則拋 出IOException異常。
  攻擊計劃
  本文的代碼有三種形式,這是因 為:在Java1.0.2中字節到字符的轉換有重要的瑕疵(使語言對Unicode的支持無實質用處),為 了支持國際化,這個瑕疵在Java1.1中得到了修正。結果是產生兩套幾乎相同的API,僅僅在提 供給字節到字符的轉換的方法有所區別。為了給所有人提供可工作的代碼,以及顯示API是如何 改變的,我們用三個包提供代碼,必要時可以下載所有三個包做比較,也可以下載適合你平臺的 包。
  第一個包運行在Java1.0.2, 有tar文件和zip文件。
  第二個包運行在Java1.1,也 有tar文件和zip文件。
  第三個包同時運行在Java1.0.2 和Java1.1,這個包沒有使用API中沖突的部分,它自己完成工作,你假如對可移植性更感愛好, 可以以tar文件或者zip文件下載此包。本文的代碼不是以小程序(Applets)的方式運行,所以你 需要Java Develop ment Kit或者類似的命令行環境。
  首先在你的系統中用正確的方 法解開下載的文件,然后在命令行下按照如下命令執行Java Runtime:%javaMain [keyWord] [keyword]...[emailfile]。你可以在命令行中指定任意多的要害字(Keywords)。程 序對每個要害字建立一個“過濾器”,然后將它們一起連接入一個“流”。當輸入以標準輸入 進入時,程序從標準輸入中讀取數據,通過“流”傳送這些數據,寫入標準輸出中。假如有一 個“過濾器”檢測到一個要害字,就會產生一個異常,以結束程序。這種解決方案很簡單,但 是非常有用而且高效。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲一区二区三区在线观看| 国产精品一区二区久久久久| 国产精品v日韩精品| 日韩av在线免费| 欧美日本高清视频| 国产精品久久久久久久久粉嫩av| 亚洲自拍偷拍第一页| 久久男人av资源网站| 国产视频在线观看一区二区| 在线观看日韩专区| 中文字幕少妇一区二区三区| 中国日韩欧美久久久久久久久| 色yeye香蕉凹凸一区二区av| 国产精品久久久久影院日本| 国产精品久久久久一区二区| 91精品国产综合久久香蕉| 久久久精品影院| 91最新在线免费观看| 亚洲天堂av在线免费观看| 精品国产一区二区三区四区在线观看| 蜜月aⅴ免费一区二区三区| 国产精品嫩草视频| 精品人伦一区二区三区蜜桃免费| 日韩欧美在线国产| 国产成人鲁鲁免费视频a| 精品国产欧美一区二区五十路| 国产精品美女久久久免费| 国产精品久久久久久久久久新婚| 亚洲国产成人久久| 国产视频精品在线| 色婷婷综合成人av| 97久久精品人人澡人人爽缅北| 久久久久久久一区二区三区| 亚洲成人久久电影| 97精品久久久中文字幕免费| 中文.日本.精品| 26uuu另类亚洲欧美日本一| 欧美日韩国产在线| 97国产精品久久| 亚洲最大的av网站| 日韩在线国产精品| 91精品国产高清| 96pao国产成视频永久免费| 久久精品国产久精国产一老狼| 一个人看的www欧美| 国产69精品久久久| 久久精品亚洲国产| 欧美疯狂做受xxxx高潮| 国产日韩欧美91| 国产精品夜间视频香蕉| 在线成人激情黄色| 69av成年福利视频| 国模私拍视频一区| 亚洲天堂av图片| 日本国产一区二区三区| 日韩男女性生活视频| 日韩中文字幕国产精品| 久久成人综合视频| 亚洲娇小xxxx欧美娇小| 亚洲视频一区二区三区| 国产在线观看精品一区二区三区| 日韩在线观看免费网站| 亚洲第一福利网站| 成人有码视频在线播放| 亚洲欧美www| 日韩中文字幕欧美| 欧美黑人巨大精品一区二区| 原创国产精品91| 日韩精品在线免费观看视频| 欧美精品18videos性欧| 亚洲成人aaa| 国产一区二区三区视频在线观看| 亚洲一区二区三区毛片| 久久免费高清视频| 最新国产精品拍自在线播放| 亚洲精品成人久久久| 成人夜晚看av| 亚洲国产成人精品久久| 国产精品久久久久久久久免费看| 欧美性视频在线| 欧美激情国内偷拍| 日韩av手机在线| 日韩av大片免费看| 日韩美女在线观看| 中文字幕亚洲综合| 欧美亚洲第一页| 亚洲天堂男人的天堂| 亚洲精品一区二三区不卡| 欧美精品www在线观看| 成人黄色av网站| 亚洲精品日韩欧美| 欧美成人全部免费| 日韩免费在线观看视频| 精品视频在线播放免| 国产日韩欧美影视| 久久久天堂国产精品女人| 亚洲va国产va天堂va久久| 久久久久久久久久亚洲| 九九久久久久久久久激情| 欧美大片免费观看在线观看网站推荐| 91经典在线视频| 国产精品久久久久久久久久久久| 久久国产一区二区三区| y97精品国产97久久久久久| 亚洲国产一区二区三区四区| 国产日韩欧美日韩大片| 久久色在线播放| 亚洲黄色免费三级| 色婷婷亚洲mv天堂mv在影片| 日韩大陆毛片av| 午夜伦理精品一区| 日韩成人中文电影| 久久久久免费精品国产| 美女999久久久精品视频| 久久久久久久国产精品| 日韩中文在线视频| 久久亚洲综合国产精品99麻豆精品福利| 亚洲欧美日韩视频一区| 欧美有码在线视频| 91精品中文在线| 亚洲直播在线一区| 国产精品视频大全| 日韩av在线天堂网| 亚洲欧美日韩国产中文专区| 色噜噜国产精品视频一区二区| 亚洲综合成人婷婷小说| 欧美日韩国产在线看| 久久久免费精品| 中文字幕亚洲综合久久| 欧美体内谢she精2性欧美| 91牛牛免费视频| 国产精品夜色7777狼人| www.亚洲一区| 97婷婷大伊香蕉精品视频| 日韩欧美在线视频观看| 欧美日韩亚洲成人| 精品一区精品二区| 91豆花精品一区| 日韩精品欧美国产精品忘忧草| 久久精品视频va| 国产成人精彩在线视频九色| 欧美成人精品三级在线观看| 精品国产91久久久| 91免费福利视频| 欧美乱人伦中文字幕在线| 亚洲欧美日韩第一区| 欧美另类在线播放| 国产精品福利网站| 久久久久久美女| 日韩一区二区三区国产| 欧美成人激情在线| 91深夜福利视频| 日韩av一卡二卡| 欧美性xxxx极品hd欧美风情| 亚洲精品xxx| 久久人人爽人人爽人人片av高请| 亚洲精品福利在线| 在线性视频日韩欧美| 日韩久久精品成人| 亚洲美女又黄又爽在线观看| 欧美激情精品久久久久久免费印度| 亚洲va欧美va国产综合久久| 亚洲成人黄色网址| 一区二区三区四区精品|