Witam,
mam następujący problem.
Załóżmy, że piszemy prosty program jako frontend do zewnętrznej aplikacji konsolowej w systemie linux.
W klasie przechowujemy wskazanie na process
Process p=Runtime.getRuntime().exec("external_ap");
Jak również jego wejście/wyjście
stdInput=new BufferedReader(new InputStreamReader(p.getInputStream()));
stdError = new BufferedReader(new InputStreamReader(p.getErrorStream()));
stdOutput=new DataOutputStream(p.getOutputStream());
Chcemy wyświetlić wszystko, co wyrzuca zewnętrzna aplikacja:
while((line=stdInput.readLine())!=null){
System.out.println(line);
}
Wszystko na razie gra. Mój problem pojawia się, gdy w procesie zewnętrznym pojawia się dialog z użytkownikiem, niech będzie to oczekiwanie na liczbę. Wtedy aplikacja zawiesza się w pętli.
Szukam wskazówki, jak można obsłużyć to tak, żeby dialog z użytkownikiem przenieść na własną aplikację. Czyli, jeśli pojawi się oczekiwanie na dane wprowadzone przez użytkownika, program wychodzi z pętli i obsługuje zdarzenie.
Za wszelkie uwagi - serdecznie dziękuję :)