日期:2014-05-20  浏览次数:20789 次

关于资源文件的获取
我在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中就出错了
是这样的~~~~~~~~
为什么,我也不知道了。