2009-06-06 2 views
22

Normalerweise wird dieser Code für die Konvertierung von File zu IFile verwendet:Wie konvertiert man von Datei zu IFile in Java, für Dateien außerhalb des Projekts?

IWorkspace workspace= ResourcesPlugin.getWorkspace();  
IPath location= Path.fromOSString(file.getAbsolutePath()); 
IFile ifile= workspace.getRoot().getFileForLocation(location); 

Aber das funktioniert nur für Java-Dateien innerhalb des Projekts. Wie kann ich die XZX12 bekommen, wenn XZX13-Datei nicht im Arbeitsbereich (nicht im Projekt) ist?

+0

Meinten Sie getFileForLocation in Zeile 3? –

Antwort

9

IResource und sein Kind IFile sollten ursprünglich nur für Ressourcen im Arbeitsbereich verwendet werden. Siehe Javadoc for IResource.

Seit Eclipse 3.3 jedoch auch Unterstützung für externe Dateien bietet, siehe this Eclipse Wiki page.

+0

Ich versuchte diese Lösung, aber ich bekomme diesen Fehler java.lang.IllegalStateException: Arbeitsbereich ist geschlossen. wenn ich versuche, den Arbeitsbereich wie folgt zu erhalten: IWorkspace ws = ResourcesPlugin.getWorkspace(); Können Sie bitte mit diesem Problem helfen? –

+0

Der Eclipse-Wiki-Link ist unterbrochen. –

Verwandte Themen