我的Java-RSS解析器

來源:互聯網
上載者:User

以下是Readme.txt檔案的本文
一、使用說明

 程式入口命令
  cd F:/java/2003012142
  set classpath=classes
  javac -d classes src/RssParser.java
  java RssParser
 操作
  互動部分在左側的樹
  左鍵選擇---狀態列顯示RSS的URL
  右鍵彈出---該對象的方法
  
二、功能
 簡單快速查看網上的RSS資源,支援RSS2.0版本。
 可以添加、刪除RSS,可以所有頻道一起更新。
 
三、特點
 涉及:異常處理、Swing圖形介面、多線程、本地IO操作、網路編程、XMLDOM操作
 
四、有待改進
 支援RSS1.0等版本、支援Atom版本。
 UI進階:HTML解析查看摘要、菜單功能完善。
 本地化資料。(支援離線瀏覽)

五、RSS概說
 ·目前互連網上提供RSS訂閱服務的大多是Blog網站,新聞門戶網站。
  近期Google、百度等搜尋引擎也提供了各種形式的RSS服務。
  一周前,在本人與學生清華門戶網站、學生網路電視台的共同努力下,終於在學生清華門戶網站後台做好了RSS源,使其成為清華校園網第一家提供RSS訂閱服務的網站。計划下學期做完其市場調研後聯絡網路中心,向全校各網站推廣。
 ·目前網上流行的RSS閱讀器不少,國產的不多,多數都比較垃圾。
  網上能下載到的開源的這類程式幾乎沒有,僅有的RSSBandit等開來源程式還都是要求.NET FrameWorks運行環境的。
  我打算利用Java跨平台優勢和網路編成優勢,填補這一空缺。
 ·RSS優勢不用我講。
  上個月的報道,支援RSS訂閱的手機已經上市。
  這半年來,許多Blog精英都在討論Feed://的網路通訊協定的建設的技術規範問題。

六、感想
 XML與張量
 XML的基本屬性是“良構”Well Structed
 張量的基本屬性是“多線性”Multilinear
 XML的魅力在於“擴充”Extensible
 張量的魅力在於“萬有性”Universal
 推測:發明XML的人一定具有良好的代數素養。
 
 W3C與WTO
 W3C是互連網技術的正常化組織。
 WTO是世界貿易的正常化組織。
 全球化浪潮“甚囂塵上”的今天,做技術的人不能不關注W3C,就像做生意的人不能不關注WTO一樣。
 
 指令碼不是程式
 本人長期寫慣了指令碼,從Flash的ActionScript到DHTML的Javascript,很不注意代碼的規範。
 習慣了快速解決的思路,做一個稍大點的程式,比如這次Java大作業,就發現自己的很多陋習非常影響程式的書寫效率。
 面向解決的思想先入為主,物件導向的思想尚未在我的大腦中紮根。僅憑這幾次作業的訓練,是遠遠不夠的。
 
七、測試報告
 本地URL以file:///開頭的路徑成功解析
 網路上的URL以http://開頭的路徑解析失敗(Permission denied),關閉防火牆(金山網鏢6)後,連網成功,RSS解析成功。
 多線程(20)並行,連網效率大幅度提高,返回結果順序為先串連成功者先顯示。
 正在串連的RSSNode其名稱用()標記,解析成功後去掉()標記。
 全程狀態列提示,包括所有異常捕獲。
 大多數RSS2.0都能成功解析,百度的出錯,提示說字元集方面有錯,尚未解決。
 強壯性漏洞:
 1.若頻道定義檔案opml.xml不存在則程式無法運行。
 2.477行更新tree的外觀時會隨機拋出null 指標異常,而且不能捕獲。
 java.lang.NullPointerException
        at javax.swing.plaf.basic.BasicTreeUI.paintRow(Unknown Source)
        at javax.swing.plaf.basic.BasicTreeUI.paint(Unknown Source)
        at javax.swing.plaf.metal.MetalTreeUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent._paintImmediately(Unknown Source)
        at javax.swing.JComponent.paintImmediately(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
  搞不懂,沒解決,但是不影響程式正常運行。只是運行到477行updateUI()時Tree偶爾會變形,很詭異。
  將該行注釋掉也可以。
  
 合理性欠缺:添加新RSS網站,若無效仍然會留下。
 細節問題: 彈出對話方塊中的漢字太醜陋,故改用英文。
    彈出對話方塊會搞丟,彈出對話方塊後切換到其他應用程式,然後再通過按一下滑鼠Windows工作列則回到Java程式主介面見不到對話方塊在它上面,但是通過Alt+Tab切換回Java程式就能看到對話方塊。
    
    
    
    
    
    

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.