在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】

使用ResourceBundle类中的getString进行简单读取

,要想实现替换功能,需要使用MessageFormat类中的

public static String format(String pattern,Object... arguments)方法,用时自行百度

使用ResourceBundle读取配置文件的更多相关文章

  1. ResourceBundle读取配置文件

    import java.util.ResourceBundle; /** * Created by win7 on 2017/5/20. */public class Test1 { public s ...

  2. java中读取配置文件ResourceBundle和Properties两种方式比较

    今天在开发的时候,需要把一些信息放到配置文件中,方便后续的修改,注意到用的是ResourceBundle读取配置文件的方式,记得之前也见过使用Properties的方式,就比较好奇这两种方式的区别,网 ...

  3. ResourceBundle读取properties配置文件

    package cn.rocker.readProperties; import java.util.ResourceBundle; import org.junit.Test; /** * @Cla ...

  4. Servlet读取配置文件的三种方式

    一.利用ServletContext.getRealPath()[或getResourceAsStream()] 特点:读取应用中的任何文件.只能在web环境下. private void text3 ...

  5. ResourceBundle与Properties读取配置文件

    ResourceBundle与Properties的区别在于ResourceBundle通常是用于国际化的属性配置文件读取,Properties则是一般的属性配置文件读取. ResourceBundl ...

  6. 简单工厂模式使用ResourceBundle读取.properties配置文件

    在做项目时,遇到需要创建DAO.Service等类的实例的时候,想到用工厂方法来运作,而简单工厂方法又有明显的缺点: ①由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻辑集中 ...

  7. ResourceBundle和properties 读取配置文件区别

    java.util.ResourceBundle 和java.util.properties 读取配置文件区别 这两个类都是读取properties格式的文件的,而Properties同时还能用来写文 ...

  8. java 4种方式读取配置文件 + 修改配置文件

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] 方式一采用ServletContext读取读取配置文件的realpath然后通过文件流读取出来 方式二采用ResourceB ...

  9. ResourceBundle读取文件学习

    开发中,我们经常需要读取本地文件(properties文件),这样的好处是文件是动态的,可配置的.这时候我们就需要用到ResourceBundle这个类. 这个类属于java.util.*. 这个类的 ...

随机推荐

  1. spark中saveAsTextFile的错误

    写了很简单的一段spark代码,将结果保存为windows本地文件,执行之后总是报错NullPointerException 查询之后 发现是本地缺少hadoop需要的一个文件所致 如果本地已经安装了 ...

  2. Java之JSON操作(Jackson)

    Java to JSON: package json.jackson; import bean.User; import com.fasterxml.jackson.databind.ObjectMa ...

  3. anaconda2安装cv2

    http://m.blog.csdn.net/u010167269/article/details/62447648 下载离线安装包:https://anaconda.org/menpo/opencv ...

  4. map内置函数分析所得到的思路

    map:会根据提供的函数对指定序列做映射. map(func, *iterables) --> map object Make an iterator that computes the fun ...

  5. BZOJ4408&4299[Fjoi 2016]神秘数——主席树

    题目描述 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13},1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = 4+1 6 = ...

  6. ubuntu 16.04 samba服务搭建

    一:安装 1. sudo apt-get install samba 有询问Yes的地方Yes就行. 无法安装samba 执行 sudo apt-get update 2.等待安装完成,进入配置文件目 ...

  7. The Chinese Postman Problem HIT - 2739(有向图中国邮路问题)

    无向图的问题,如果每个点的度数为偶数,则就是欧拉回路,而对于一个点只有两种情况,奇数和偶数,那么就把都为奇数的一对点  连一条  边权为原图中这两点最短路的值  的边  是不是就好了 无向图中国邮路问 ...

  8. ecplise tomcat忽然出现404

    场景:之前用的好好的,eclipse可以启动,然后浏览器访问  localhost:8080  出现tomcat 404 页面 解决方法:删掉server ,重新建个 server

  9. 【codeforces 335E】 Counting Skyscrapers

    http://codeforces.com/problemset/problem/335/E (题目链接) 题意 懒得写了= = Solution 这题咋不上天= =. 参考题解:http://blo ...

  10. AtCoder Regular Contest 066 F Contest with Drinks Hard

    题意: 你现在有n个题目可以做,第i个题目需要的时间为t[i],你要选择其中的若干题目去做.不妨令choose[i]表示第i个题目做不做.定义cost=∑(i<=n)∑(i<=j<= ...