• 使用ResourceBundle读取配置文件


    ---------------------------前言----------------

    以前一直都配置文件的读取特别难操作,以至于经常需要做I/O操作来读取文件内容,呵呵,真是太笨了。

    突然发现,我应该好好学学技术总监交给我的这个项目中的读取配置文件的方法,于是这篇文章产生了,嘿嘿~~
    --------------------------------------------------

    在Java语言中,使用一种以.properties为扩展名的文本文件作为资源文件,该类型的文件的内容格式为类似:

    1
    2
    #注释语句
    some_key=some_value
    



    形式。以#开头的行作为注释行,ResourceBundle类处理时会加以忽略;其余的行可以以 key名=value值 的形式加以记述。这样的话,一般我们将数据库的配置文件以这样的形式展现。

    Java的ResourceBundle类可以对这种形式的文件加以处理。

    ResourceBundle类的使用方法也非常简单。我们使用一个例子来说明。

    假如我现在有一个数据库的配置文件,我将它写为资源文件的样式,则为:

    1
    2
    3
    4
    5
    #数据库配置信息
    DRIVER=com.mysql.jdbc.Driver
    URL=jdbc:mysql://localhost:3306/cns
    user=test
    password=test
    



    接下来,我们使用ResourceBundle类处理:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    package Forum;
     
    import java.util.*;
     
    public class RedProFile {
    	 public static void main(String[] a){
    	String resourceFile = "Forum.CNS";    
    //	        创建一个默认的ResourceBundle对象   
    //	        ResourceBundle会查找包Forum下的CNS.properties的文件   
    //	        Forum是资源的包名,它跟普通java类的命名规则完全一样:   
    //	        - 区分大小写   
    //	        - 扩展名 .properties 省略。就像对于类可以省略掉 .class扩展名一样   
    //	        - 资源文件必须位于指定包的路径之下(位于所指定的classpath中)   
    //            假如你是在非Web项目中使用,则一定要写资源文件的路径,也就是包路径必须存在。
    //            如果是Web项目,不写包路径可以,此时将资源文件放在WEB-INF\classes\目录下就可以。
    	ResourceBundle rb = ResourceBundle.getBundle(resourceFile);
    	System.out.println(rb.getString("DRIVER"));//这里是分大小写的,嘿嘿输出值为jdbc:mysql://localhost:3306/cns
    	 }
    }
    



    这样就简单多了,呵呵

    这是我转来的稍加修改的提取最简单的部分的,非常感谢原作者。原文见【http://www.lifevv.com/java/doc/20080205000526940.html】

  • 相关阅读:
    Visual Studio安装空白 和 VS Code打开失败解决方案
    基于编程人员Python学习第一章节
    Windows Live Writer安装失败错误解决方案
    知乎推荐率最高的20款耳机
    Kubernetes K8s架构师实战集训营
    大数据从入门到项目实战,精品学习材料,值得大家一看
    京峰2019Linux高端云计算架构师课程
    老男孩linux高端运维
    马哥Linux 高端运维云计算就业班
    hello
  • 原文地址:https://www.cnblogs.com/lan0725/p/1873854.html
Copyright © 2020-2023  润新知