Datei ausführen - Pfadtrenner "\" ersetzen

steffi_ma

Grünschnabel
Hallo,
ich möchte Dateien ausführen lassen. Leider bekomme ich immer Probleme mit der Pfadangabe. Bei mir werden die Pfade mit "\" getrennt. Java verlangt aber "\\". Wie bekomme ich das ersetzt?

String file bekomme ich übergeben. Pfade sind mit "\" getrennt.

umformatieren mit:
file = file.replace("\","\\");
klappt nicht --> Syntax-Error.
anschliessendes ausführen mit:
Runtime.getRuntime().exec(file);

Wo steckt der Fehler?

steffi
 
Lokale Pfadtrennzeichen usw. gibts über die java.lang.System:

System.getProperties(...)

file.separator File separator ("/" on UNIX)
path.separator Path separator (":" on UNIX)
 
da habe ich aber dann das gleiche Problem.

System.getProperty("file.separator");
ergibt ja nur \
ich brauche aber \\

System.setProperty("file.separator","\\");
ergibt auch nur \

andere Trenner werden akzeptiert. Aber wie wird \\ dargestellt?

wenn ich in der gleichen Methode noch ein
System.getProperty("user.dir");
abfrage, sind die Trenner wieder anders, als ich über set gesetzt habe.

steffi
 
Zuletzt bearbeitet:
ich habs noch mal durchdacht. dabei habe ich folgendes gefunden:
Code:
FileReader fr = new FileReader(file);
String nextCommand = "";
BufferedReader br = new BufferedReader(fr);
while((nextCommand = br.readLine()) != null)
{
  String[] commands = {nextCommand};
  runCommand(commands);
}
...

private static void runCommand(String[] args)
{
  ...
  Runtime rt = Runtime.getRuntime();
  Process p = rt.exec(commands);
  ...
}
nun brauche ich mich auch nicht mehr um die Separatoren kümmern. Die Datei kann ausgeführt werden.

Trotzdem vielen Dank für deine Hilfe

Steffi
 
Zurück