关于资源文件的获取
我在eclipse中建有一个project,在src(或source)下建了两个包,每个包里各有几个*.java,现有一些图片放在pic目录下。我把pic文件夹和bin文件夹放在同一个目录下,使用System.getProperty( "user.dir ")+ "// "+ "pic "来获取路径在程序中动态载入图片
现在感觉这个办法不太好,如果要想使用jdk的demo目录下的jfc下的Notepad.java文件中的方法来做,应该如何呢?我实在是看不懂,好像是一种读资源文件的方法。
这是部分代码片断:
static {
try {
resources = ResourceBundle.getBundle( "resources.Notepad ", Locale.getDefault));
} catch (MissingResourceException mre) {
System.err.println( "resources/Notepad.properties not found ");
System.exit(1);
}
}
有劳高手指点迷津!!希望能实现我原来的方法实现的同样的功能
------解决方案--------------------恩 你这个方法肯定不好,不过
resources = ResourceBundle.getBundle( "resources.Notepad ", Locale.getDefault)); 这个方法也不是很好,他用ResourceBundle是为了代码国际化而已.
你可以直接用相对路径或 getClass().getResource( "1.jpg ");
------解决方案--------------------這樣打包不好打,最好用類加載
------解决方案--------------------可以参考下
http://community.csdn.net/Expert/topic/5440/5440715.xml?temp=.7187006
------解决方案--------------------用 System.getProperty( "user.dir ") 的话,这个属性容易跟运行他的外部程序一起改变,用 MyClass.class.getClassLoader().getResourceAsStream( "./file.ext "); 的话,只能返回一个 InputStream 。。
------解决方案--------------------eclipse每个插件都有独立的ClassLoader,所以最好的方法是取得插件的类加载器,取得插件的路径再加上资源的路径。
------解决方案--------------------打包的话用../picture/*.jpg试试
=================================
这样做在eclipse中就出错了
是这样的~~~~~~~~
为什么,我也不知道了。