<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ivaneeo's blog

    自由的力量,自由的生活。

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
    package net.sourceforge.jtds.jdbc;

    import java.text.MessageFormat;
    import java.util.Enumeration;
    import java.util.Map;
    import java.util.ResourceBundle;

    public final class Messages {
      private static final String DEFAULT_RESOURCE = "net.sourceforge.jtds.jdbc.Messages";  //默認得資源
      private static ResourceBundle defaultResource;  //和locale的綁定

      private Messages() {
        }

        public static String get(String key) {
            return get(key, null);
        }

        public static String get(String key, Object param1) {
            Object args[] = {param1};
            return get(key, args);
        }

        static String get(String key, Object param1, Object param2) {
            Object args[] = {param1, param2};
            return get(key, args);
        }

        private static String get(String key, Object[] arguments) {
          try {
                ResourceBundle bundle = loadResourceBundle();
                String formatString = bundle.getString(key);
                // No need for any formatting if no parameters are specified
                if (arguments == null || arguments.length == 0) {
                    return formatString;
                } else {
                    MessageFormat formatter = new MessageFormat(formatString);
                    return formatter.format(arguments);
                }
            } catch (java.util.MissingResourceException mre) {
                throw new RuntimeException("No message resource found for message property " + key);
            }
        }

        private static ResourceBundle loadResourceBundle() {
            if (defaultResource == null) {
                defaultResource = ResourceBundle.getBundle(DEFAULT_RESOURCE);
            }
            return defaultResource;
        }

        static void loadDriverProperties(Map propertyMap, Map descriptionMap) {
            final ResourceBundle bundle = loadResourceBundle();
            final Enumeration keys = bundle.getKeys();
            while (keys.hasMoreElements()) {
                final String key = (String) keys.nextElement();
                final String descriptionPrefix = "prop.desc.";
                final String propertyPrefix = "prop.";
                if (key.startsWith(descriptionPrefix)) {
                    descriptionMap.put(key.substring(descriptionPrefix.length()), bundle.getString(key));
                }
                else if (key.startsWith(propertyPrefix)) {
                    propertyMap.put(key.substring(propertyPrefix.length()), bundle.getString(key));
                }
            }
        }
    }

    上面代碼中默認得綁定名為:"net.sourceforge.jtds.jdbc.Messages".其實就是以工程為根目錄,尋找文件Messages.properties.這里查找的方式和類是一樣的.比如:"net.sourceforge.jtds.jdbc.Messages",就是工程根目錄下的net/sourceforge/jtds/jdbc/下的Messages.properties文件.
    這個文件定義很多的屬性,要得到只要用get方法.

      注意這里的defaultResource = ResourceBundle.getBundle(DEFAULT_RESOURCE);沒有設定Locale值,所以文件名為Messages.properties.如果設置了Locale值的話,例如:defaultResource = ResourceBundle.getBundle(DEFAULT_RESOURCE, Locale.ENGLISH);那么它就會去查找文件Messages_en.properties.其他類似加后綴(Locale.CHINA是Messages_zh.properties).

      關于java.text.MessageFormat類,下面通過一個例子就可以說明:
        MessageFormat mf = new MessageFormat("You have {0} messages.");
        Object[] arguments = {"no"};
        System.out.println(mf.format(arguments));  //"You have no messages."

      關于String.startsWith(String prex)是測試字符串是否以prex開頭.
    posted on 2005-08-04 14:43 ivaneeo 閱讀(411) 評論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲精品无码久久久久秋霞| 午夜在线免费视频 | 国产无遮挡吃胸膜奶免费看| 亚洲激情黄色小说| 亚洲精品无码中文久久字幕| 妻子5免费完整高清电视| 久久综合亚洲鲁鲁五月天| 日韩免费高清一级毛片| 免费国产成人午夜私人影视| 亚洲日本一区二区| 日韩大片在线永久免费观看网站| 日本高清免费不卡视频| 国产青草亚洲香蕉精品久久| 最近免费mv在线电影| 亚洲国产成人久久综合碰| 特a级免费高清黄色片| 亚洲日韩精品无码专区网站| 国产精品亚洲片夜色在线| 99久久99这里只有免费的精品| 国产亚洲一区二区三区在线不卡 | 免费一级毛suv好看的国产网站| 日本大片在线看黄a∨免费| 亚洲精品9999久久久久无码| 国产乱子伦精品免费女| 久久99久久成人免费播放| 国产成A人亚洲精V品无码| 51视频精品全部免费最新| 亚洲理论电影在线观看| 一级毛片成人免费看免费不卡| 亚洲特级aaaaaa毛片| 日日AV拍夜夜添久久免费| 中文字幕免费视频精品一| 亚洲日韩中文字幕| 国产成人免费高清在线观看| 久久免费视频一区| 亚洲午夜久久久精品电影院| 91精品成人免费国产片| 亚洲AV无码一区二区大桥未久| 在线观看亚洲精品国产| 青青在线久青草免费观看| 免费人成又黄又爽的视频在线电影|