当我使用ResourceBundle从属性文件中获取值时,我以随机顺序获取值

时间:2013-12-03 10:38:41

标签: java enumeration resourcebundle

当我使用ResourceBundle从属性文件中获取值时,我以随机顺序获取值。我想在属性文件中给出原始顺序的值。任何人都可以按顺序获取值。

        while (bundleKeys.hasMoreElements()) {
            key = (String)bundleKeys.nextElement();
            int  k = key.indexOf(key, 0);
            System.out.println("---------"+k);
            if (key.startsWith(prefixMatch) ) {
                 logger.info( rb.getString(key) );
                 result= rb.getString(key);
            }

        }

1 个答案:

答案 0 :(得分:0)

关于此主题,请参阅此帖子: Why Java Enumeration doesn't return properties list in order?

ResourceBundle提供的内部HashMap或Set不是有序的。

假设这个数据:

host.server.sitA.ster.1=9.124.72.160:50959 
host.server.sitA.ster.2=9.124.72.160:50967 
host.server.sitB.ster.1=9.124.72.160:137 
host.server.sitB.ster.2=9.124.72.160:123

为什么不像往常一样使用ResourceBundle加载您的IP:

ResourceBundle ipBundle = ResourceBundle.getBundle(myBundleName);
String ipSitA = ipBundle.getString("host.server.sitA.ster.1");