java加载property文件配置
1 properties简介:
properties是一种文本文件,内容格式为:
key = value #单行注释
适合作为简单配置文件使用,通常作为参数配置、国际化资源文件使用。
对于复杂的配置,就需要使用XML、YML、JSON等了
2 java加载Properties:
java加载properties主要通过2个util包下的工具类: Properties类、 ResourceBundle类
2.1 通过Properties类加载:
Properties类通过load()方法加载配置信息,这个方法接收一个输入流参数:InputStream、Reader。
Properties提供get(String key) 方法读取指定的配置项。
2.1.1 通过ClassLoader获取InputStream加载:
该方式只能读取类路径下的配置文件
(1)先创建Properties对象
(2)获取property文件对应的输入流in
(3)使用Properties加载输入流in
(4)通过Properties.get(key)方法获取配置,如果配置信息不存在,则返回null
/** |
2.1.2 通过构建Reader加载:
该方式的优点在于可以读取任意路径下的配置文件
(1)创建Properties对象
(2)创建一个Reader,可以指定路径,不局限于类路径
(3)使用Properties加载Reader
(4)Properties.get(key)方法读取配置
/** |
2.2 通过ResourceBundle类加载:
ResourceBundle读取配置有2种方式:
(1)指定文件路径 :相对于src、classes的相对路径
(2)提供InputStream
ResourceBundle提供方法getString(key) 和 getObject(key)读取配置项
使用路径加载,不需要指定文件后缀名,且不需要手动关闭相关资源,比Properties类操作要简单。
/** * 可以使用相对路径,从类路径开始,且不需要指定properties文件的后缀 try { * 通过当前类的class实例,获取资源输入流 |
java加载property文件配置的更多相关文章
- Java加载资源文件的两种方法
处理配置文件对于Java程序员来说再常见不过了,不管是Servlet,Spring,抑或是Structs,都需要与配置文件打交道.Java将配置文件当作一种资源(resource)来处理,并且提供了两 ...
- java加载properties文件的六中基本方式实现
java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载: 另一种是通过impo ...
- java加载properties文件的六种方法总结
java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类:一种是通过import java. ...
- java加载外部文件数据到代码中:外部数据文件放到jar包中,调用方法getResourceAsStream
任务要将数据文件geo.txt加载进行.因为是别人写的总体项目,不能乱动位置.只能将geo.txt打包到jar中某目录.比如,放到.class文件下怎么加载:http://riddickbryant. ...
- Java加载jar文件并调用jar文件当中有参数和返回值的方法
在工作当中经常遇到反编译后的jar文件,并要传入参数了解其中的某些方法的输出,想到Java里面的反射可以实现加载jar文件并调用其中的方法来达到自己的目的.就写了个Demo代码. 以下的类可以编译生成 ...
- Django模版中加载静态文件配置详解
.settings.INSTALLED_APPS下添加:django.contrib.staticfiles .settings.py下添加:STATIC_URL = '/static/' . ()在 ...
- Java加载Class文件的原理机制
详见:http://blog.sina.com.cn/s/blog_6cbfd2170100ljmp.html 1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器 ...
- java加载资源文件
className.class.getResourceAsStream 用法: 第一: 要加载的文件和.class文件在同一目录下,例如:com.x.y 下有类Test.class ,同时有资源文件c ...
- Java加载资源文件几种方法
from: http://andyzhu.blog.51cto.com/4386758/775836/ import java.net.URL; import org.springframework. ...
随机推荐
- 字符串专题之KMP算法
写点自己对KMP的理解,我们有两个字符串A和B,求A中B出现了多少次. 这种问题就可以用KMP来求解. 朴素的匹配最坏情况是O(n^2)的.KMP是个高效的算法,效率是O(n)的. KMP算法的思想是 ...
- H5调微信/支付宝
(1)微信支付:前端点击按钮==>请求接口(后台的接口,把订单号什么玩意传过去)==>后台自己***去请求微信支付接口(什么微信需要的任何参数和前端无关,都交给后台自己弄吧)==>微 ...
- python try catch 打印traceback
1. import traceback try: print(AB) except Exception, e: traceback.print_exc()
- css 居中布局方案
position(transform css3 有些浏览器不兼容) <article id="one"> <section id="section&q ...
- POJ - 3662 Telephone Lines (dijstra+二分)
题意:有N个独立点,其中有P对可用电缆相连的点,要使点1与点N连通,在K条电缆免费的情况下,问剩下的电缆中,长度最大的电缆可能的最小值为多少. 分析: 1.二分临界线(符合的情况的点在右边),找可能的 ...
- 51nod 1393:0和1相等串
1393 0和1相等串 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 给定一个0-1串,请找到一个尽可能长的子串,其中包含的0与1的个数相等. I ...
- HDU 5423:Rikka with Tree Dijkstra算法
Rikka with Tree Accepts: 207 Submissions: 815 Time Limit: 2000/1000 MS (Java/Others) Memory Limi ...
- 2019.3.12 linux关于用户的一些命令
su:默认切换到root 创建用户 adduser :新建一个用户 sudo adduser 新用户名字 :创建新用户 sudo passwd 用户名:修改该用户名的密码 创建组 sudo addgr ...
- sersync配置
只记录了自己的操作步骤,详细信息也可以参考https://www.cnblogs.com/sellsa/p/5345092.html 安装sersync 将sersync安装包解压后会有两个配置文件 ...
- 运行roscore出现unable to contact my own server无法启动小海龟的部分故障问题解决
运行roscore后,出现下图这种情况(unable to contact my own server) 原因是找不到http://后面那些,ping不到域名或IP. 参考http://www.ros ...