Ciao a tutti, ho un problema nel prelevare l'output generato da un programma esterno eseguit con il getRuntime.exec() da una funzione Java.
Riassumo brevemente:
codice:
   1. try {
   2.             Process startUP = Runtime.getRuntime().exec(cmdline);
   3.             InputStreamReader isr = new InputStreamReader(startUP.getInputStream());
   4.             BufferedReader br = new BufferedReader(isr);
   5.            
   6.             String linea = null;
   7.             linea=br.readLine();           
   8.             while(linea!=null) {
   9.                try {
  10.                 System.out.println(linea);
  11.                 linea=br.readLine();
  12.  
  13.                 //qui devo fare il parsing della riga
  14.            
  15.                } catch (IOException e) {
  16.                    e.printStackTrace();
  17.                }
  18.             }
  19.         } catch (IOException e)
  20.         {
  21.             System.err.println("ioexception starting process! " + e);
  22.         }
Questo è quello che sostanzialmente contiene la funzione, il mio problema è che alla riga 13 con un semplice programma di prova il cui output è un semplice "Ciao mondo" posso processare la riga (se la visualizzo 100 volte non ci sono problemi per 100 volte ottengo la stessa riga).
Se il programma che lancio è quello che poi mi servirà, alla riga 13 ottengo un bel null dentro alla mia "linea"
L'output del programma che mi servirà è questo:

(0002,0001) OB #2 [00\01] File Meta Information Version
(0002,0002) UI #20 [1.2.840.10008.1.3.10] Media Storage SOP Class UID
(0002,0003) UI #54 [1.2.40.0.13.1.10.8.132.161.2814081.200809081443384 13.1] Me
(0002,0010) UI #20 [1.2.840.10008.1.2.1] Transfer Syntax UID
...

E' solo una piccola parte perchè mi genera circa 1700 righe.
Qualcuno capisce cosa sbaglio?
Grazie a tutti.