Ladislav Honsa, welcome to JavaRanch.
It is actually much more complicated than that to use Runtime.getRuntime().exec(). What happens is that you have to wait until the process completes, then it may send messages (Strings)
via two streams, one representing standard output, the other representing standard error. Both these streams need to be kept "empty" otherwise you will get deadlock. The ProcessBuilder class introduced in Java5 makes the whole thing easier, by allowing you to "merge" the two streams, but to all intents and purposes you still need to use
Daconta's method.
I had a similar problem this time last year, and sorted it out with my StreamEater class, which you can see
here,; it is only slightly changed from Daconta.