Czy jest jakiś szybszy sposób w Javie?
Pod względem wydajności nie.
Pod względem wysiłku kodowania prawdopodobnie nie ma. Na pewno nie znam żadnej zewnętrznej biblioteki Javy, która przeszuka ścieżkę wyszukiwania poleceń, aby sprawdzić, czy istnieje plik wykonywalny.
Niestety, poszukiwanie pliku wykonywalnego w systemie Windows jest trochę trudne, ponieważ trzeba uwzględnić różne typy plików wykonywalnych ... na podstawie przyrostków plików. Nawet w systemie Linux/Unix musisz użyć nowych interfejsów API atrybutów pliku Java 7, aby określić, czy plik kandydata ma ustawione uprawnienia do wykonywania.
(Jestem świadomy, że niektóre polecenia mogą być uruchamiane w sposób nieszkodliwy, np. Mogą obsługiwać opcje/argumenty, które wyprowadzają ciąg wersji lub informacje pomocnicze, ale działa to tylko w określonych przypadkach. Mam także świadomość, że w systemie Unix/Linux istnieje wbudowana komenda powłoki o nazwie "whereis", która może powiedzieć, czy w ścieżce wyszukiwania znajduje się polecenie wykonywalne o podanej nazwie.)
Za to, co jest warte, nie mogę "Sądzę, że jest lepszy sposób niż proponujesz – Miquel
@Nie jest to pytanie w SCALA? Pytam w JAVA, koleś – w00d
@ w00d, czy zauważyłeś podobieństwa między odpowiedzią poniżej a odpowiedzią na to pytanie? Ten link jest również na ten sam temat http://stackoverflow.com/questions/2439984/how-to-check-if-a-program-is-installed-on-system. Poświęć trochę czasu i zbadaj się "koleś". – Nix