Java 读取配置文件数据
2023-09-14 08:56:52 时间
Properties类
Properties类,是一个工具类,包含在java.util包中。
功能:可以保存持久的属性,通常用来读取配置文件或者属性文件,将文件中的数据读入properties对象中,之后,可以直接从properties中获取配置项的值。并且这些配置只需要读取一次。
配置文件格式
可以是XML格式,或者key:value格式。
测试Properties读取key:value格式文件
在项目的根目录有一个config.properties文件,注意文件后缀是".properties", 如果是IDE,打开这个文件,可以通过工具(tool)来设置属性以及属性值。
需要注意:
1、key与value之间使用英文的冒号":"或者"="进行分割,如果value中有":"或者"=",就需要将其转移(加饭斜线),比如 \:,\=。
2、配置文件中,如果是以 "#"、"!"、";" 开始的行,会被认为是注释。
3、每一行保存一个配置项,配置文件中的空行将会被跳过(被忽略)
下面是一个配置文件实例
# 使用# ; ! 开始的行,被认为是注释 # 可以使用 = 来分隔key 和 value mysqlDriver=com.mysql.jdbc.Driver mysqlUrl=jdbc\:mysql\://localhost\:3306/test mysqlUser=root mysqlPwd=123456 # 可以使用 : 来分隔key 和 value mysqlDriver:com.mysql.jdbc.Driver mysqlUrl:jdbc\:mysql\://localhost\:3306/test mysqlUser:root mysqlPwd:123456
测试
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Properties; public class Use_Properties { public static void main(String[] args) throws FileNotFoundException, IOException { // 实例化properties对象 Properties props = new Properties(); // 加载配置文件 // void java.util.Properties.load(InputStream inStream) // void java.util.Properties.load(Reader reader) props.load(new FileInputStream("config.properties")); // 通过String getProperty(String key)来获取配置文件中key对应的value String mysqlDriver = props.getProperty("mysqlDriver"); System.out.println(mysqlDriver); // com.mysql.jdbc.Driver // 尝试获取配置文件中没有的key,得到的结果是null String mysqlVersion = props.getProperty("mysqlVersion"); System.out.println(mysqlVersion); // null // String getProperty(Object key, String defaultValue) // 如果key不存在时,或者key存在,而value为空,则返回defaultValue String demo = props.getProperty("demo", "this is default value of demo"); System.out.println(demo); // this is default value of demo // 配置文件中key对应有值,则defaultValue会被忽略 mysqlDriver = props.getProperty("mysqlDriver", "defaultMysqlDriver"); System.out.println(mysqlDriver); // com.mysql.jdbc.Driver } }
测试Properties读取XML格式配置文件
相关文章
- Eclipse直接看Java源码(含所需工具)
- JAVA学习(五):Java面向对象编程基础
- Java实现洛谷 P1062 数列
- Java实现 LeetCode 409 最长回文串
- java实现第六届蓝桥杯三角形面积
- Java实现John's trip(约翰的小汽车)
- Java实现二分查找(折半查找)
- (Java实现) 组合的输出
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- 【poi】解决java导出excel 海量数据内存溢出问题
- java写入文件的几种方法小结
- [Unit Testing Java] Unit testing with Mockito vs. integration testing
- java hibernate Criteria 删除数据 delete data 2种方法
- java判定数据(对象)类型
- 使用javap深入理解Java整型常量和整型变量的区别
- Atitit web httphandler的实现 java python node.js c# net php 目录 1.1. Java 过滤器 servelet1 1.2. Python的
- Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle
- java集合进行排序的两种方式
- 当年的java考试:Java景区预约登记管理系统(maven整合servlet)
- Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整
- 【Java】java 性能监控及工具
- Jsoup一个简短的引论——采用Java抓取网页数据
- 真实!美团到店-测试开发(已发offer),面经分享!(偏java测试开发)
- JAVA开发讲义(二)-Java程序设计之数据之谜一