如何在eclipse项目资源管理器中获取完整的文件路径?

时间:2013-10-08 10:11:50

标签: java eclipse eclipse-rcp eclipse-plugin

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

1 个答案:

答案 0 :(得分:0)

您可以在project.getFile上指定路径:

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

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

folder.getFile(new Path("abc.java"));