Mein bisheriger Aufruf war:
Allerdings wirft dieser Code mit der Version 7 Update 21 folgende Exception:
Ohne die Anführungszeichen funktioniert das nicht, denn da wird der Pfad nicht gefunden, weil er dann
und den Rest als Argumente aufrufen will. Die Leerzeichen einfach zu escapen geht auch nicht.
Laut dem Changelog soll man über Runtime.exec sein Programmname und Argumente über ein Array übergeben.
Folglich kann ich über
das Programm mit den Argumenten aufrufen. Allerdings muss wirklich jedes Argument in ein neues Element des Arrays, denn alle Argumente in ein Element zu packen funktioniert nicht.
Der nun elegantere Weg ist es den ProcessBuilder zu nutzen, da man den Konstruktor sein Programmname und Argumente als "String..."-VarArgs übergeben kann.
Ich frag mich was für DAUs die Entwickler von Java sind, dass sie solch eine Änderung in eine Sicherheits-Update rein machen, statt wie zu erwarten das erst mit dem Release von Java 8.
PS: Funktionen mit VarArgs eines Typs kann man auch ein Array des gleichen Typs übergeben.
PPS: Wenn's nicht in den Thread passt, dann bitte ein eigenen Thread daraus machen.