我找到了解决方案。该解决方案将帮助我从相应的文件夹路径读取文件。 **
String resourceFolder =“”;网址url = new URL(“ platform:/plugin/com.example” + resourceFolder); 字符串resourceFolderPath = org.eclipse.core.runtime.FileLocator.toFileURL(url).getPath(); resourceFile = resourceFolderPath +“ xxxx.xml”;
**
还有其他找到方式吗?
答案 0 :(得分:0)
FileLocator
是用于访问插件资源的正确API。
使用FileLocator.find
获取资源的URL:
URL url = FileLocator.find(bundle, new Path("relative path in plugin"), null);
bundle
是插件的Bundle
。对于当前插件,您可以使用:
Bundle bundle = FrameworkUtil.getBundle(getClass());
要获取使用其他插件的捆绑包:
Bundle bundle = Platform.getBundle("plugin id");
find
返回的URL是bundleentry
URL。您可以对此使用openStream
来读取资源。
如果要使用file
URL,可以使用以下方法转换URL:
URL fileURL = FileLocator.toFileURL(url);
这可能会导致Eclipse将资源复制到临时位置的文件中。