Java 读取配置文件数据
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格式配置文件
Java 读取配置文件数据的更多相关文章
- java读取配置文件的几种方法
java读取配置文件的几种方法 原文地址:http://hbcui1984.iteye.com/blog/56496 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配 ...
- Java读取Excel数据
Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...
- Java读取配置文件的方式
Java读取配置文件的方式-笔记 1 取当前启动文件夹下的配置文件 一般来讲启动java程序的时候.在启动的文件夹下会有配置文件 classLoader.getResource(&qu ...
- java 读取CSV数据并写入txt文本
java 读取CSV数据并写入txt文本 package com.vfsd; import java.io.BufferedWriter; import java.io.File; import ja ...
- java读取配置文件(转)
转载:http://blog.csdn.net/gaogaoshan/article/details/8605887 java 4种方式读取配置文件 + 修改配置文件 方式一:采用Servle ...
- java读取配置文件
java 读取文件可以用字节流和字符流. 由于一个汉字占两个字节,所以如果配置文件中有汉字,用字节流读取,会出现乱码. 用字符流则不会出现乱码. 配置文件 b.properties 文件如下: fam ...
- java读取配置文件方法以及工具类
第一种方式 : java工具类读取配置文件工具类 只是案例代码 抓取异常以后的代码自己处理 import java.io.FileNotFoundException; import java.io. ...
- java读取配置文件内容
利用com.typesafe.config包实现 <dependency> <groupId>com.typesafe</groupId> <artifact ...
- spring boot使用java读取配置文件,DateSource测试,BomCP测试,AnnotationConfigApplicationContext的DataSource注入
一.配置注解读取配置文件 (1)@PropertySource可以指定读取的配置文件,通过@Value注解获取值 实例: @PropertySource(val ...
随机推荐
- Java strictfp
strictfp关键字 用于强制Java中的浮点计算(float或double)的精度符合IEEE 754标准. 不使用strictfp:浮点精度取决于目标平台的硬件,即CPU的浮点处理能力. 使用s ...
- es6拼接字符串``
不需要任何的加号和引号,全部字符仅仅由一组``符号包裹即可,而放置动态数据或者变量即用${变量}方式即可, 看着是真的一目了然啊,最主要是终于可以摆脱被拼接字符支配的恐惧了,哈哈哈哈.
- 前端性能优化成神之路--SSR(服务端渲染)
Nuxt.js的介绍 Nuxt.js概述 nuxt.js简单的说是Vue.js的通用框架,最常用的就是用来作SSR(服务器端渲染).Vue.js是开发SPA(单页应用)的,Nuxt.js这个框架,用V ...
- Python 中两个字典(dict)合并
dict1 = { "name":"owen", "age": 18 } dict2 = { "birthday": & ...
- UVA10603-Fill(BFS)
Problem UVA10603-Fill Accept:1162 Submit:10693 Time Limit: 3000 mSec Problem Description There are ...
- 提高git下载速度(非代理或修改HOST)
1. 利用开源中国提供的代码仓库 标题已经说的很清楚了,我想对于经常使用git的人来讲,很可能已经知道了.对于新手刚接触git的人来讲,可能你只知道github. 实际上,国内也有很多代码仓库提供方, ...
- [MCM] 多目标优化 MOP(multi-objective programming)
生活中许多问题都是由相互冲突和影响的多个目标组成.人们会经常遇到使多个目标在给定区域同时尽可能最佳的优化问题,也就是多目标优化问题.优化问题存在的优化目标超过一个并需要同时处理就成为多目标优化问题. ...
- LeetCode练习3 找出一个字符串中最大不重复子字符串的长度
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- Python:Day24 类、类的三大特性
Python有两种编程方式:函数式+面向对象 函数式编程可以做所有的事情,但是否合适? 面向对象: 一.定义 函数: def + 函数名(参数) 面象对象: class bar---> 名字 ...
- Linux Driver 开发 eclipse工程找不到头文件
如下添加头文件路径, 右键单击工程,选择 Properties > C/C++ Build > Settings > > GCC C/C++ Compiler ...