• 027 ResourceBundle.getBundle方法


      在程序中遇到这个,感觉会比较重要,就学习一番。

    一:静态读取配置文件的Demo

    1.新建工程

      

    2.新建properties

      

    3.新建Java的demo程序

      注意不要写properties。

     1 package com.jun.it;
     2 
     3 import java.util.ResourceBundle;
     4 
     5 public class ResourceBundleDemo {
     6     /**
     7      * 测试ResourceBundle.getBundle
     8      * @param args
     9      */
    10     public static void main(String[] args) {
    11         ResourceBundle resourceBundle=ResourceBundle.getBundle("project");
    12         System.out.println(resourceBundle.getString("projectName"));
    13     }
    14 
    15 }

    4.效果

      

    二:国际化读取文件

    1.新建两个properties

      

    2.新建测试类

     1 package com.jun.it;
     2 
     3 import java.util.ResourceBundle;
     4 
     5 public class ResourceBundleDemo {
     6     /**
     7      * 测试ResourceBundle.getBundle
     8      * @param args
     9      */
    10     public static void main(String[] args) {
    11         //基本的使用
    12         ResourceBundle resourceBundle=ResourceBundle.getBundle("project");
    13         System.out.println(resourceBundle.getString("projectName"));
    14         //国际化的使用
    15         ResourceBundle resourceBundle2=ResourceBundle.getBundle("hello_zn");
    16         System.out.println(resourceBundle2.getString("hello"));
    17     }
    18 
    19 }

    3.效果

      

    三:介绍

    1.作用

      java的ResourceBundle类是用来读取properties的资源文件的,很多国际化操作都使用该类。

    2.静态读取与动态读取

      我们可以在每个对象中用ResourceBundle来读配置文件设置自己的值,也可以用一个固定的对象去读取然后保存下来以便以后使用。

      在每个class中都去读配置文件会导致代码散乱,所以,只用一个class来进行读取是比较合理的做法。

      另外,由于I/O的速度比较慢,如果负责读取配置文件的class是在每次用到这些配置项的时候去读文件,就容易成为性能上的瓶颈。

      为避免这样的情况,可以在初始化的时候就把配置项一次全部读入,并保存在静态成员变量中。

      不过:

      不排除会有对配置项进行动态读取的需求(因为某些应用是不能停掉的,比如应用服务器。在这些应用运行期间更新了配置文件,就需要在不不关闭应用的情况下重新读入配置项)。

      以下的例子只考虑了静态读取的情况,如果是动态读取,则可以把读取配置文件的代码放到某个方法中,通过对某个事件的响应来调用该方法更新配置项。

  • 相关阅读:
    Java常见问题汇总
    前端url参数中带有callback并产生错误
    shiro中ecache-core版本引起的异常
    深入SpringMVC注解
    导出表格数据到excel并下载(HSSFWorkbook版)
    layui数据表格及分页
    签名的生成
    程序的健壮性Robustness
    ASP.NET MVC中注册Global.asax的Application_Error事件处理全局异常
    生成二维码功能
  • 原文地址:https://www.cnblogs.com/juncaoit/p/9305080.html
Copyright © 2020-2023  润新知