Java中的properties文件的读取
2016-04-17 22:08
375 查看
项目中难免会用到一些业务相关的变量,有时可能需要根据项目的不同而去修改它的值,所以为了方便性以及可变性,这些需要写到一个配置文件中,
常用的有写在xml中,当然也有写成properties文件中的,本篇就是介绍如何读取properties中的值的。
这个properties中的特点和Map有点像,通过key=value的方式存储。
1、如果没有等号,则value为空
2、如果有多个等号,第一个等号之前的为key
3、如果以等号开始,就是key为空,value为等号后面的值了。
4、正常情况就是一个等号,并且等号前后都有值。
下面就是读取properties的代码,很简单的,其实就是读取文件了。
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像这就不用多说了。
常用的有写在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像这就不用多说了。
相关文章推荐
- 20145325张梓靖 《Java程序设计》第7周学习总结
- Java RMI之HelloWorld篇
- 20145310《Java程序设计》第2次实验报告
- Java之类型的转换
- java.sql.Types,数据库字段类型,java数据类型的对应关系
- 常用排序算法的Java实现
- struts2 学习
- 20145321 《Java程序设计》第7周学习总结
- 20145225唐振远 实验二 "Java面向对象程序设计"
- java多线程的公平锁和非公平锁
- JAVA设计模式之------简单工厂模式
- 和Java集合谈谈(一)
- Java转json
- Java多线程(5) interrupt
- Java数组操作的方法
- 20145312 《Java程序设计》第七周学习总结
- Java基础--并发实用工具(5)
- 20145331 《Java程序设计》第7周学习总结
- java控制控制台里面输出的星号的移动
- android开发Eclipse首字母和.后面自动提示设置