File via Runtime.exec öffnen

jeipack

Erfahrenes Mitglied
Hi
In einem Tool von mir kann man Files anhängen und auch von dort aus mit der Standard Anwendung öffnen. Dies mache ich ganz einfach mit:
Java:
Runtime.getRuntime().exec("cmd.exe /C \"" + f.getAbsolutePath()+"\"");

Ein Beispiel mit der Datei te(s)t.txt unter C:
Code:
C:\>cmd.exe /C "C:\te(s)t.txt"
Der Befehl "C:\te" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Wenn ich den String modifiziere und die Klammern escape:
Code:
cmd.exe /C "C:\te^(s^)t.txt"
funktioniert es. Das Problem dabei ist, dass wenn ich die Klammern escape muss ich auch die eventuell vorhandenen Leerzeichen escapen (trotz Anführungszeichen!) und wer weiss was sonst noch.

Gibt es keine andere Möglichkeit eine Datei mit der Standardanwendung aus Java zu starten?
Oder gibt es eine Möglichkeit eine URL so zu verändern, dass sie unter DOS 100% richtig ist?
Oder hab ihr sonst eine Idee?


Greez
jeipack
 
thx=)

Hab gemerkt mit zwei Anführungszeichen klappts auch mit Runtime.exec.
Java:
Runtime.getRuntime().exec("cmd.exe /C \"\"" + f.getAbsolutePath()+"\"\"");
 
Zurück