我正在尝试创建一个插件,它会给我一个在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);
这里我只获取活动窗口的路径。但是我想要项目中所有文件的绝对路径列表..主要是src文件夹下的文件......
如果我能以同样的方式做到这一点,请指导我,或者我是否需要使用一些不同的API。
答案 0 :(得分:7)
经过我的研究,我发现下面的代码将获得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.resources
和org.eclipse.core.runtime
才能使用这些API
答案 1 :(得分:0)
给定一个 IResource
,你可以使用方法 org.eclipse.core.resources.IResource.getLocation()
返回一个 IPath
和“本地文件系统中该资源的绝对路径,如果没有路径可以返回 null决定”。然后您可以使用返回字符串表示的方法 org.eclipse.core.runtime.IPath.toOSString()
。