Welcome to the Ranch.
You oughtn't to use Runtime.exec() on its own; you get two Streams representing standard error and standard output, both of which must be "emptied" otherwise your Runtime.exec() might throw an exception. Google for "when Runtime.exec() won't" (
sic) and you will get an article by Dacosta from 2000 about this very problem. Look in the API at the ProcessBuilder class, which I am not familiar with, but may provide a simpler solution to that problem.
You don't usually use Acrobat on Linux, but evince. I tried this on a Bash shell
[Campbell@dhcppc0 ~]$ which evince
/usr/bin/evince
[Campbell@dhcppc0 ~]$ evince /home/Campbell/oldFolders/Eiffel/ECMA-367.pdf
. . . and a few seconds later ECMA-367 opened. So try
and see what happens. Or try
You will have various Streams to "empty" and various Exceptions to catch, but
you should find the details in the API for Process and ProcessBuilder and in Dacosta.