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()?