Pytanie odnośnie działania metody read() z InputStreamReader

0

Witam.

Mam problem z działaniem metody read. Najprawdopodobniej czegoś nie rozumiem i dlatego proszę o wyrozumiałość.

Jest nast. sytuacja. Mam refencje do instancji klasy Process utworzonej przez metode exec() z Runtime (wywolane narzedzie systemowe). Pobieram sobie 2 strumienie wejsciowe - std i err. Dzialajacy proces w zaleznosci od wynikow wyrzuca dane do strumienia std lub err w przypadku bledow. Kiedy probuje wywolac metode read() na strumieniu ktory akurat nie zawiera aplikacja blokuje sie na tym wywolaniu (a nie jest zwracany null jak by sie moglo wydawac). Co wiecej dla obu strumieni wywolanie metody available() zwraca zero mimo ze w jednym z nich sa oczekujace dane. Jak wiec sprawdzic ktory strumien zawiera dane i czytac z niego? Dlaczego aplikacja blokuje sie w read()?

0

Bo czeka na to by coś trafiło do strumienia.
Użyj wątków.

1 użytkowników online, w tym zalogowanych: 0, gości: 1