您的位置:首页 > 编程语言 > Java开发

Java中的properties文件的读取

2016-04-17 22:08 375 查看
项目中难免会用到一些业务相关的变量,有时可能需要根据项目的不同而去修改它的值,所以为了方便性以及可变性,这些需要写到一个配置文件中,

常用的有写在xml中,当然也有写成properties文件中的,本篇就是介绍如何读取properties中的值的。

这个properties中的特点和Map有点像,通过key=value的方式存储。

1、如果没有等号,则value为空

2、如果有多个等号,第一个等号之前的为key

3、如果以等号开始,就是key为空,value为等号后面的值了。

4、正常情况就是一个等号,并且等号前后都有值。

下面就是读取properties的代码,很简单的,其实就是读取文件了。

package com.jay.test.proeprties;

import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;

public class PropertiesUtil {

public static void main(String[] args) {
readFromProperties("db.properties");
}

/**
* 从properties文件中读取数据
*
* @param filePath
*/
public static void readFromProperties(String filePath) {
InputStream in = PropertiesUtil.class.getResourceAsStream(filePath);
Properties properties = new Properties();
try {
properties.load(in);
Enumeration<?> enumeration = properties.propertyNames();
while (enumeration.hasMoreElements()) {
String keyString = (String) enumeration.nextElement();
String valueString = (String) properties.getProperty(keyString);
System.out.println("key:      " + keyString + "   value: " + valueString);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}


db.properties配置文件中的内容是

name=boy

value=eleven=

placechinese

=1344

name=girl

执行完代码后的效果如下所示:发现key相同后,后面的会覆盖之前的,这个就是和map特别像了。

key: name value: girl

key: placechinese value:

key: value value: eleven=

key: value: 1344

看了源代码之后,会发现Properties这个类继承了Hashtable,而去load文件流时,使用的是Hashtable的put方法,

所以为什么和map像这就不用多说了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: