我正在编写一个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
那么如何从插件中获取完整的文件路径?
答案 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;