• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    J2SE綜合:在Java程序中截獲控制臺輸出 (1)

    發布: 2008-5-08 10:02 | 作者: 不詳 | 來源: 賽迪網技術社區 | 查看: 111次 | 進入軟件測試論壇討論

    領測軟件測試網

    關鍵字:Java程序中截獲控制臺輸出在Java開發中,控制臺輸出仍是一個重要的工具,但默認的控制臺輸出有著各種各樣的局限。本文介紹如何用Java管道流截取控制臺輸出,分析管道流應用中應該注意的問題,提供了截取Java程序和非Java程序控制臺輸出的實例。

    即使在圖形用戶界面占統治地位的今天,控制臺輸出仍舊在Java程序中占有重要地位?刂婆_不僅是Java程序默認的堆棧跟蹤和錯誤信息輸出窗口,而且還是一種實用的調試工具(特別是對習慣于使用println()的人來說)。然而,控制臺窗口有著許多局限。例如在Windows 9x平臺上,DOS控制臺只能容納50行輸出。如果Java程序一次性向控制臺輸出大量內容,要查看這些內容就很困難了。

    對于使用javaw這個啟動程序的開發者來說,控制臺窗口尤其寶貴。因為用javaw啟動java程序時,根本不會有控制臺窗口出現。如果程序遇到了問題并拋出異常,根本無法查看Java運行時環境寫入到System.out或System.err的調用堆棧跟蹤信息。為了捕獲堆棧信息,一些人采取了用 try/catch()塊封裝main()的方式,但這種方式不一定總是有效,在Java運行時的某些時刻,一些描述性錯誤信息會在拋出異常之前被寫入 System.out和System.err;除非能夠監測這兩個控制臺流,否則這些信息就無法看到。

    因此,有些時候檢查Java運行時環境(或第三方程序)寫入到控制臺流的數據并采取合適的操作是十分必要的。本文討論的主題之一就是創建這樣一個輸入流,從這個輸入流中可以讀入以前寫入Java控制臺流(或任何其他程序的輸出流)的數據。我們可以想象寫入到輸出流的數據立即以輸入的形式“回流”到了 Java程序。

    本文的目標是設計一個基于Swing的文本窗口顯示控制臺輸出。在此期間,我們還將討論一些和Java管道流(PipedInputStream和 PipedOutputStream)有關的重要注意事項。圖一顯示了用來截取和顯示控制臺文本輸出的Java程序,用戶界面的核心是一個 JTextArea。最后,我們還要創建一個能夠捕獲和顯示其他程序(可以是非Java的程序)控制臺輸出的簡單程序。
    圖一:多線程的控制臺輸出截取程序

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>