# Datei ausführen - Pfadtrenner "\" ersetzen



## steffi_ma (27. September 2004)

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


----------



## Snape (27. September 2004)

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

System.getProperties(...)

file.separator  	File separator ("/" on UNIX)
path.separator 	Path separator (":" on UNIX)


----------



## steffi_ma (27. September 2004)

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


----------



## Snape (27. September 2004)

Also zwei \ gibts nofalls per

"\\" + "\\" + sRemotePC + "\\";


----------



## steffi_ma (27. September 2004)

ich habs noch mal durchdacht. dabei habe ich folgendes gefunden:

```
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


----------



## Christian Fein (27. September 2004)

> while((nextCommand = br.readLine()) != null)
> {
> String[] commands = {nextCommand};
> runCommand(commands);
> }



da wirft dein Compiler eine Fehlermeldung.

nextCommand ist vom Typ String und nicht vom Typ String[]


----------



## steffi_ma (27. September 2004)

Nein, es gibt keinen Fehler.

ich verwende ja * {nextCommand}* und nicht * nextCommand* 

steffi


----------



## Christian Fein (28. September 2004)

> _Original geschrieben von steffi_ma _
> *Nein, es gibt keinen Fehler.
> 
> ich verwende ja  {nextCommand} und nicht  nextCommand
> ...


upps habe ich übersehen


----------

