[Java] Ausgabe von Process einlesen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von unix, 7. Juni 2011 .

  1. 7. Juni 2011
    Ausgabe von Process einlesen

    Hey, hab ein ganz triviales Problem ^^:

    Ich starte von Java ein externes Programm über den ProcessBuilder und will dann dessen Ausgaben bei mir im Programm anzeigen lassen.

    Das ausführen klappt wunderbar! Nur leider kriegt ich nicht zu sehen was dieses Programm macht!

    So gehe ich vor:

    Code:
     ProcessBuilder pB = null;
    ..
     pB = new ProcessBuilder("./FileDL.exe", "-t=1", "-u",
     "-s=\\\\.\\" + port, file);
     Process ps = pB.start();
     BufferedInputStream bf = new BufferedInputStream(
     ps.getInputStream());
    
     int bytesRead = 0;
     while ((bytesRead = bf.read()) != -1)
     System.out.print((char) bytesRead);
    
     System.out.println("Exit Value= " + ps.exitValue());
    
    Ich komm iwie nicht dahinter wieso das nicht gehen soll ?(

    Und noch ne Frage:

    Code:
    Process.exitValue()
    liefert mir irgendwie einen ganz anderen Wert als ich erwarte!

    Normal endet ein Programm ja mit 0 wenn alles ok war, meins aber mit -1073741819!

    Da stimmt glaub ich auch was nicht ^^
     
  2. 7. Juni 2011
    AW: Ausgabe von Process einlesen

    dieser exit status deutet auf eine exception im programm hin.

    vermutlich sowas wie:
    Code:
    Access Violation (0xc0000005) [...]
     
  3. 7. Juni 2011
    AW: Ausgabe von Process einlesen

    hmm, wenn ich das Programm mit den gleichen Parametern über cmd ausführe krieg ich als errorlevel (also Exit Code) 0 raus!

    also müsste mein Programm doch eig. auch ne 0 kriegen!

    Und das Programm läuft komplett durch (ist ein Firmwareupdater für ein Gerät) und das auch richtig!
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.