zoukankan      html  css  js  c++  java
  • 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格式配置文件

  • 相关阅读:
    python笔记26(正则表达式、re模块)
    python笔记24(回顾、复习)
    python笔记25(正则表达式课程一)
    python笔记23(面向对象课程五)
    python(leetcode)-1.两数之和
    python(leetcode)-283移动零
    python(leetcode)-66加一问题
    python(leetcode)-350两个数组的交集
    python(leetcode)-136只出现一次的数字
    python数据结构-数组/列表/栈/队列及实现
  • 原文地址:https://www.cnblogs.com/-beyond/p/10073704.html
Copyright © 2011-2022 走看看