2

我正在开发 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 插件项目中执行此任务

4

1 回答 1

0

您可以在以下位置指定路径project.getFile

project.getFile(new Path("src/main/java/com/sung/Pre/abc.java"));

或获取IFolder包含文件的文件夹并使用

folder.getFile(new Path("abc.java"));
于 2013-10-08T10:26:28.237 回答