2013-03-06 82 views
5

我想创建一个插件,它会给我一个在Eclipse中打开的项目中所有文件的绝对路径列表。如何在Eclipse中使用插件获取项目文件的绝对路径

我试过,但我能够得到的只是活动窗口的路径..

我的动作代码是:

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); 

在这里,我只得到了积极window..But路径我想列出一个项目中的所有文件的绝对路径..主要是src文件夹下的文件...

请指导我,如果我可以用同样的方式做,或者我需要使用一些不同的API这个。

+0

+1,即使我在寻找相同的东西,并准备在SO中发布:) – 2013-03-06 11:58:54

+0

试试这个遍历文件和文件夹:[https://stackoverflow.com/a/20744434/6699913](https://stackoverflow.com/a/20744434/6699913) – 2017-09-11 11:35:26

回答

5

我的研究,我发现下面的代码会得到Eclipse的当前工作区的项目目录的路径:

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

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

注:您需要导入org.eclipse.core.resourcesorg.eclipse.core.runtime使用这些API的

Source

+0

thanx为成立dude ..但我想访问src中的所有文件文件夹,并获得他们的绝对路径..我可以通过一些手段遍历工作区目录... – user1901079 2013-03-06 13:46:52

+0

它不适用于我,我的项目可能不在工作区 – xavierzhao 2015-12-31 06:28:43

相关问题