在Eclipse插件中获取文件位置

时间:2010-09-18 10:01:40

标签: eclipse plugins

我正在编写一个Eclipse插件,我想在项目中读取文件并对其执行操作。 例如,该文件位于:Project testplugin和path:com / flow / FlowMain.java 我想以编程方式读取此文件并在其中添加一些代码。 我想的是:

  

String base = Platform.getBundle(config.getPluginId())。getEntry(“/”)。toString();   String relativeUri =“com / flow / FlowMain.java”;   文件f =新文件(base + relativeUri);

这显然是失败的,因为“base + relativeUri”的值返回: 项://1079.fwk5184781/com/flow/FlowMain.java

那么如何从插件中获取完整的文件路径?

2 个答案:

答案 0 :(得分:3)

'entry'是由equinox定义的协议,因此您可以使用org.eclipse.core.runtime.FileLocator.toFileURL(URL)获取真实路径。

答案 1 :(得分:0)

使用以下代码获取插件路径:

String workSpaceRootpath=this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath()+Relativepath of a file;