Display disp = Display.getCurrent();
disp.asyncExec(new Runnable() {
public void run(){
try {
PipedOutputStream pos = new PipedOutputStream();
System.setErr( new PrintStream(pos, true) );
System.setOut( new PrintStream(pos, true) );
PipedInputStream pis = new PipedInputStream( pos );
BufferedReader reader = new BufferedReader( new InputStreamReader(pis) );
String line = null;
while (true){
line = reader.readLine(); // != null)
console.append(line);
System.out.println("moo" + line);
parent.layout(true,true);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
System.err の内容をキャプチャして、アプリケーションのデバッグ ウィンドウに出力しようとしています。上記のコードを実行できますが、System.err のコンテンツがアプリケーションに表示されず、コンソールに出力されるだけです。なぜでしょうか?