Eclipse插件项目中读取文件

 
在进行插件开发的时候,有的时候希望把某些配置文件,或者数据文件和插件一起打包,一般这些文件需要被放在插件项目目录下,以便插件发布的时候可以和插件一起打包发布。
 
但是由于插件发布的时候,一般会打成一个Jar包,虽然可以使用JDK的JarFile这个类读取Jar包中的某文件,但是由于开发过程中调试的时候,并没有打包,即此时需要读取的文件并非在Jar包中,所以需要有一种通用的方法,来获取项目文件夹下的某个文件。
 
下面的语句,可以通过Eclipse里的OSGi的Bundle类,获取插件目录下的某个文件的输入流。
Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);  
URL url = bundle.getResource("/icon/text.txt");  
InputStream is = FileLocator.toFileURL(url).openStream(); 

bundle是OSGi的概念,一般情况下,代表一个插件。通过bundle获取一个URL,然后通过工具类FileLocator转换,并且打开一个输入流,这样就可以读取文件的内容了。
 
这种方法的好处,是调试时和发布后通用。

你可能感兴趣的:(eclipse插件)