最近在做一个eclipse插件,遇到很多有关eclipse rcp开发的问题,随笔写下来。
插件内部文件(jar,class,xml.....等等) 获取不能简单的用File f = new File();+物理路径或相对路径处理。
不过rcp内部的api提供一套插件访问的io流api,可以通过这个办法获得指定文件的io流,再通过io流进行文件读写插座。
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);
URL url = bundle.getResource(filePathName);
// bundle.getEntry(filePathName);
InputStream is = null;
is = FileLocator.toFileURL(url).openStream();
bundle.getResource(),bundle.getEntry()区别,个人理解 一个专门针对class 一个针对绝大部分资源文件,都可以获取插件依赖的相关文件