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

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

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

    ivaneeo's blog

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

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      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);沒有設(shè)定Locale值,所以文件名為Messages.properties.如果設(shè)置了Locale值的話,例如:defaultResource = ResourceBundle.getBundle(DEFAULT_RESOURCE, Locale.ENGLISH);那么它就會去查找文件Messages_en.properties.其他類似加后綴(Locale.CHINA是Messages_zh.properties).

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

      關(guān)于String.startsWith(String prex)是測試字符串是否以prex開頭.
    posted on 2005-08-04 14:43 ivaneeo 閱讀(417) 評論(0)  編輯  收藏 所屬分類: java魔力
    主站蜘蛛池模板: 亚洲av中文无码乱人伦在线r▽| 羞羞网站免费观看| 亚洲欧洲日产国码无码久久99| 中文字幕无码播放免费| 三年片免费高清版| 精品在线免费视频| 亚洲综合无码无在线观看| 亚洲一级二级三级不卡| 亚洲综合伊人久久大杳蕉| 免费观看午夜在线欧差毛片| 91视频国产免费| 免费A级毛片无码A∨免费| 成人爽a毛片免费| 黄色网页在线免费观看| 日韩免费高清一级毛片| 亚洲欧美国产日韩av野草社区| 亚洲成aⅴ人在线观看| 亚洲激情在线观看| 亚洲av伊人久久综合密臀性色| 亚洲综合色成在线播放| www.亚洲精品| 免费看国产一级特黄aa大片| 青青草国产免费久久久下载 | 亚洲欧洲久久av| 国产不卡免费视频| 青青草国产免费久久久下载| 午夜一区二区免费视频| 夜夜爽免费888视频| 处破痛哭A√18成年片免费| 免费无码又爽又刺激聊天APP| 亚洲美女视频免费| 4虎永免费最新永久免费地址| 五月婷婷综合免费| 亚洲人成网站免费播放| 成人性生交视频免费观看| 在线观看免费毛片| 国产中文字幕免费观看| 2048亚洲精品国产| 亚洲爆乳无码一区二区三区| 久久亚洲国产精品| 亚洲第一页在线视频|