24. november 2003 - 20:25Der er
1 kommentar og 1 løsning
Fange stdout i Java.
Er der nogen der ved om det er muligt at fange en stdout i Java og arbejde videre på den.
Sagen er nemlig den at jeg har et program der kører på en Linux platform. Programmet generer et output til consolen. Dette output skulle jeg gerne catche med min java program så jeg kan arbejde videre på det. Desværre er det ikke nok for mig at bruge en kommando i Linux der laver en fil, for det hele skal ske automatisk og det eneste programmet generer er stdout.
public class CaptureOutput { public static void main(String[] args) { try { PrintStream save = System.out; ByteArrayOutputStream baos = new ByteArrayOutputStream(); PrintStream pw = new PrintStream(baos); System.setOut(pw); T t = new T(); t.start(); t.join(); System.setOut(save); pw.flush(); System.out.println("from thread: " + baos.toString()); } catch (InterruptedException e) { e.printStackTrace(); } } }
class T extends Thread { public void run() { System.out.println("Hello world"); } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.