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

發表于:2008-05-08來源:作者:點擊數: 標簽:javaJAVAJava程序控制臺
關鍵字: Java 程序中截獲控制臺輸出二、捕獲Java控制臺輸出 Listing5的ConsoleTextArea類擴展SwingJTextArea捕獲控制臺輸出。不要對這個類有這么多代碼感到驚訝,必須指出的是,ConsoleTextArea類有超過50%的代碼用來進行 測試 。 【Listing5:截獲Java控制
關鍵字:Java程序中截獲控制臺輸出二、捕獲Java控制臺輸出

Listing 5的ConsoleTextArea類擴展Swing JTextArea捕獲控制臺輸出。不要對這個類有這么多代碼感到驚訝,必須指出的是,ConsoleTextArea類有超過50%的代碼用來進行測試。

【Listing 5:截獲Java控制臺輸出】
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.text.*;
public class ConsoleTextArea extends JTextArea {
    public ConsoleTextArea(InputStream[] inStreams) {
        for(int i = 0; i < inStreams.length; ++i)
            startConsoleReaderThread(inStreams[i]);
    } // ConsoleTextArea()
    public ConsoleTextArea() throws IOException {
        final LoopedStreams ls = new LoopedStreams();
        // 重定向System.out和System.err
        PrintStream ps = new PrintStream(ls.getOutputStream());
        System.setOut(ps);
        System.setErr(ps);

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97