1.java.util.Properties类继承关系
Properties类表示一组持久属性。属性可以被保存到流或从流中加载。属性列表中的每一个键及其相应的值是一个字符串。
继承关系:
java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties
public class Properties extends Hashtable<Object,Object>
重要的方法(从流中加载属性):
public void load(InputStream inStream) throws IOExceptionpublic void load(Reader reader)throws IOExceptionpublic void loadFromXML(InputStream in) throws IOException,InvalidPropertiesFormatException
load方法可以读取多种类型的字符串流,包括XML,这里只介绍简单的文本结构,以下格式均合法:
Truth = BeautyTruth =Truth:BeautyTruth :Beauty
2.创建配置文本
配置文件的格式为 key = value 形式,可以空行,value也可以为空(获取数据时值为null)。#为注释,可被忽略。
例:dataSource.properties
#数据库连接字符串URL = jdbc:oracle:thin:@127.0.0.1:1521:myOrcluserName = oraclepassWord = oracle
3.使用java程序读取信息
因为java.util.Properties类中load方法返回的时Map类型数据,所以只要载入配置文件,就可以直接当做Map类型数据来调用了。
例:MyTest.java
import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;Class MyTest{ public static void initDS() { FileInputStream inStream = null; try { inStream = new FileInputStream("dataSource.properties"); Properties prop = new Properties(); prop.load(inStream); String URL = prop.getProperty("URL"); String userName = prop.getProperty("userName"); String passWord = prop.getProperty("passWord"); System.out.println(URL); System.out.println(userName); System.out.println(passWord); } catch (IOException ex) { ex.printStackTrace(); } finally { if (inStream != null) { try { inStream.close(); } catch (IOException e) { } } } }}