JDK里有个例子是这样的:   
    ResourceBundle   myResources   =   
              ResourceBundle.getBundle("MyResources",   currentLocale);   
    
    public   class   MyResources   extends   ListResourceBundle   {   
              public   Object[][]   getContents()   {   
                              return   contents;   
              }   
              static   final   Object[][]   contents   =   {   
              //   LOCALIZE   THIS   
                              {"OkKey",   "OK"},   
                              {"CancelKey",   "Cancel"},   
              //   END   OF   MATERIAL   TO   LOCALIZE   
              };   
    }   
  ResourceBundle.getBundle("MyResources",   currentLocale)中的"MyResources"就是MyResources.java的类名,但这个方法是如何找到MyResources.java这个类的呢? getBundle是用ClassLoader来加载相应的类的。   
  它会在ClassPath中去查找指定的类。如何在ECLIPSE中设置classpath解决此问题?

解决方案 »

  1.   

    附代码:(resource_zh_CN和testload都在包com.test中)
    package com.test;import java.util.ResourceBundle;
    public class testload { public static String aaa = testload.getDesc("test");

    private static ResourceBundle currentResources = null;

        public static String getDesc(String errDesc){
            if(currentResources == null){
                init();
            }
            return currentResources.getString(errDesc);
        }   private static void init(){       currentResources = ResourceBundle.getBundle("com.test.resource");
       }
    public static void main(String[] args) {

    System.out.println(aaa); }}
      

  2.   

    ResourceBundle myResources = ResourceBundle.getBundle("MyResources", currentLocale)中的"MyResources"不是类名,而是
    形如MyResource<*>.properties文件名,如MyResource_zh_CN.properties
    具体的文件名后缀要由currentLocale决定
    这个properties文件里是形如
    val1=value of val1
    val2=value of val2
    格式的字符串可以通过myResource.getString("val1")来取得val1的值Eclipse里的工程属性里的Output Folder会自动加在classpath里
      

  3.   

    我是要加载JAVA类阿。
    普通的JAVA工程。如何搞?