Obtenir le chemin absolu du fichier actuellement édité dans Eclipse
Je voudrais écrire un plugin qui fait quelque chose avec le fichier actuellement édité dans Eclipse. Mais je ne suis pas sûr de savoir comment bien obtenir le fichier chemin d'accès complet.
C'est ce que je fais maintenant:
IFile file = (IFile) window.getActivePage().getActiveEditor.getEditorInput().
getAdapter(IFile.class);
Maintenant, j'ai un IFile objet, et que je peux les récupérer son chemin:
file.getFullPath().toOSString();
Toutefois cela ne me donne le chemin d'accès relatif à l'espace de travail. Comment puis-je obtenir le chemin absolu de qui?
source d'informationauteur levik
Vous devez vous connecter pour publier un commentaire.
Dirait que vous voulez
IResource.getRawLocation()
. Qui renvoie unIPath
qui a également unmakeAbsolute()
méthode si vous voulez être doublement sûr que vous avez un chemin d'accès absolu.Je pense que plus Java solution à l'amiable serait de n'utiliser les éléments suivants:
Cela prend avantage de la IPath API (la getLocation() de la partie) et sera de retour une java.io.Instance de fichier. Bien sûr, les autres réponses ne sont probablement que vous obtenez à l'endroit où vous voulez être.
Sur un tangentielle remarque, je trouve l'IDE de classe
(org.eclipse.ui.ide.IDE)
un utilitaire de ressources quand il s'agit pour les éditeurs.La réponse qui a fonctionné pour moi (et je l'ai testé!) a:
J'ai l'habitude de l'appeler IFile.getLocation() qui retourne un IPath et ensuite appeler IPath.toOSString().
Pour moi, cette course ok.
IWorkspaceRoot workSpaceRoot = ResourcesPlugin.getWorkspace().getRoot();
Fichier fichier = workSpaceRoot.getRawLocation().makeAbsolute().toFile();
liste de fichiers à partir de cet emplacement:
Fichier[] files = fichier.listFiles();