How to get the absolute path of project files in eclipse using plugin

14.9k views Asked by At

I am trying to create a plugin which would give me a list of absolute path of all the files inside a project opened in eclipse.

I tried but I am able to get the path of the active window only..

My action code is:

  IWorkbenchPart workbenchPart = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart(); 
    IFile file = (IFile) workbenchPart.getSite().getPage().getActiveEditor().getEditorInput().getAdapter(IFile.class);
    if (file == null)
        try {
            throw new FileNotFoundException();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    String path = file.getRawLocation().toOSString();
    System.out.println("path: " + path);

Here I am only getting the path for active window..But I want list of absolute path of all the files inside a project ..mainly the files under src folder...

Please guide me if I can do it in the same way or do I need to use some different API for this.

2

There are 2 answers

2
Pradeep Simha On BEST ANSWER

After my research, I found out below code would get the path of Eclipse's current workspace's project directory:

//get object which represents the workspace  
IWorkspace workspace = ResourcesPlugin.getWorkspace();  

//get location of workspace (java.io.File)  
File workspaceDirectory = workspace.getRoot().getLocation().toFile()

Note: You need to import org.eclipse.core.resources and org.eclipse.core.runtime to use these API's

Source

0
lorenzo-bettini On

Given an IResource, you can use the method org.eclipse.core.resources.IResource.getLocation() that returns an IPath with the "absolute path of this resource in the local file system, or null if no path can be determined". Then you can use the method org.eclipse.core.runtime.IPath.toOSString() that returns a String representation.