Problem mit File.seperator und Pfaden

hdi

Top Contributor
Hi,

Java:
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
String rootPath = root.getLocation().toString();
System.out.println("seperator: "+File.separator);
System.out.println("root: "+rootPath);

liefert bei mir:

seperator: \
root: D:/Files/runtime-EclipseApplication

Ich hab grad das Problem dass ich den rootPath splitten will, und damit das halt systemabängig
funktioniert dachte ich, ich nutze halt File.separator für so Methoden wie indexOf() usw.

Was mir aber jetzt ne IndexOutOfBoundsException liefert beim Versuch zu splitten da er das
File.separator Zeichen in dem Pfad gar nich findet...

Wieso liefert File.seperator nicht das Zeichen dass auch bei Pfaden verwendet wird?
Hat das jetzt schon wieder was damit zu tun dass das Programm als Eclipse App läuft oder
es ein Plugin ist?

Weil wenn ich das in ner ganz normalen Main-Methode mach (kein Plugin Projekt) und ich
nehm nich den Workspace Pfad sondern mach zB ein File.listRoots() dann stimmt das Zeichen
in den Pfaden wirklich auch mit dem überein was File.separator liefert ???:L

Danke
 
Zuletzt bearbeitet:
Weil wenn ich das in ner ganz normalen Main-Methode mach (kein Plugin Projekt) und ich
nehm nich den Workspace Pfad sondern mach zB ein File.listRoots() dann stimmt das Zeichen
in den Pfaden wirklich auch mit dem überein was File.separator liefert

...und zwar - auch in den Pfaden - das Zeichen "\", und eben nicht "/" :bahnhof:

edit nur damit klar ist: Bei
Code:
File#getAbsolutePath()
kommt eben "\" und nicht "/", ich weiss ja nicht worauf die sich jetzt beziehen in der API-Doc?!
 
hdi, die [c]getLocation()[/c] gibt doch kein File sondern einen IPath zurück. IPath nimmt immmer [c]/[/c]. File nimmt immer [c]File.separator[/c].

Ebenius
 

Zurück
Oben