Java Eclipse插件';in:如何为编辑器提供输入

Java Eclipse插件';in:如何为编辑器提供输入,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在尝试开发一个插件,该插件将在树视图中呈现XML文件的元素,并且(双击)应该在编辑器中打开该文件。该文件是一个插件资源 我所看到的大多数示例都是通过选择(所选元素)将文件作为IFile获取的;我的问题是,我找不到其他方法来提供输入。 以下是我已经尝试过的几个例子: IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject("the plugin project"); IFile file = testProje

我正在尝试开发一个插件,该插件将在树视图中呈现XML文件的元素,并且(双击)应该在编辑器中打开该文件。该文件是一个插件资源

我所看到的大多数示例都是通过选择(所选元素)将文件作为IFile获取的;我的问题是,我找不到其他方法来提供输入。 以下是我已经尝试过的几个例子:

IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject("the plugin project");
IFile file = testProject.getFile("test.xml");

不知怎么的,我要找的文件找不到了。 通过从以下提供的流中读取文件,我成功地渲染了树:

MyClass.class.getResourceAsStream(relativePath);
我可以获取文件的Url(使用getResource()),但我不知道是否可以使用它来获取所需的IFile。
请告知。

您说的
位置
是相对于项目目录的,但是您试图使用其JavaDoc来解决它

路径应该是绝对的;相对路径将被视为绝对路径


谢谢你的回答。我不得不说,这真的很奇怪(请容忍我,我只是一个初学者,在他的知识探索),我尝试了绝对路径只是为了让它工作,但“文件”是空的,并提出了一个例外。。我在想,它可能是在eclipse中打开的工作区中查找文件(这是一个用于测试的临时文件),这可以解释为什么在第一个示例中找不到该项目。这是对的吗?那么,您的路径是否看起来像
/myProject/path/inside/project/myfile.txt
,其中
myProject
是运行代码的Eclipse实例中的一个工作区项目?我使用Eclipse调试器尝试了各种路径(出于绝望)。我尝试了这个方法,并附带了:filename/&/filename&/folder/filename&/project/folder/filenameOK,表示绝对路径表示文件系统中的文件,而不是工作区。请看一下关于资源处理的内容。简而言之,您的第一个版本应该可以工作,但为此,您需要项目的最新资源树(即,您应该能够在
项目资源管理器中查看
test.xml
)。谢谢。我真的很感激。
MyClass.class.getResourceAsStream(relativePath);