Properties類表示一組持久屬性。屬性可以被保存到流或從流中加載。屬性列表中的每一個鍵及其相應的值是一個字符串。
繼承關系:
java.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Propertiespublic 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,InvalidPropertiesFormatExceptionload方法可以讀取多種類型的字符串流,包括XML,這里只介紹簡單的文本結構,以下格式均合法:
Truth = BeautyTruth =Truth:BeautyTruth :Beauty配置文件的格式為 key = value 形式,可以空行,value也可以為空(獲取數據時值為null)。#為注釋,可被忽略。
例:dataSource.properties
#數據庫連接字符串URL = jdbc:Oracle:thin:@127.0.0.1:1521:myOrcluserName = oraclepassWord = oracle因為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) { } } } }}新聞熱點
疑難解答