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:
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).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. }
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.

Rispondi quotando
