我正在研究eclipse插件。在这里,我有一个项目层次结构中存在的文件名。我需要项目测试中存在的文件 abc.java 的完整路径。
路径 F:/Test/src/main/java/com/sung/Pre/abc.java
中显示的文件 IWorkspaceRoot rootWorkspace = ResourcesPlugin.getWorkspace().getRoot();
IProject project = rootWorkspace.getProject("/Test");
file1 = project.getFile("/abc.java");
FileEditorInput fileEditorInput = new FileEditorInput(file1);
IWorkbench workbench = PlatformUI.getWorkbench();
IEditorDescriptor desc = workbench.getEditorRegistry().getDefaultEditor(file1.getName());
IWorkbenchPage page11 = workbench.getActiveWorkbenchWindow().getActivePage();
try {
page11.openEditor(fileEditorInput, desc.getId(),true);
} catch (PartInitException e1) {
e1.printStackTrace();
}
这是在/ Test文件夹中搜索文件。如果文件在根Test文件夹中显示,则它可以打开此文件但是如果它位于某个文件夹中,如 F:/Test/src/main/java/com/sung/Pre/abc.java 它无法找到该文件。
我也试过下面的代码,但面临同样的问题
try {
//IDE.openEditor(page11, uri, "org.eclipse.ui.ide.IDE", true);
IDE.openEditor(page11, file1, true);
} catch (PartInitException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
所以我的问题是,如果我们在项目层次结构中有一个文件名,那么我们如何获得它的绝对或完整路径。
请记住我在eclipse插件项目中执行此任务
答案 0 :(得分:0)
您可以在project.getFile
上指定路径:
project.getFile(new Path("src/main/java/com/sung/Pre/abc.java"));
或获取包含该文件的文件夹的IFolder
并使用
folder.getFile(new Path("abc.java"));