Properties類繼承自hashTable而且實現了Map接口,使用key-value方式存儲屬性值,主要用於讀取java的配置文件,實現程序和運行環境之間的去耦做用。java
繼承關係以下:函數
1、讀取方式有不少,參考Java讀取Properties文件的六種方法 .net
使用J2SE API讀取Properties文件的六種方法
1。使用java.util.Properties類的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);
2。使用java.util.ResourceBundle類的getBundle()方法
示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3。使用java.util.PropertyResourceBundle類的構造函數
示例: InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);
4。使用class變量的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
5。使用class.getClassLoader()所獲得的java.lang.ClassLoader的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
6。使用java.lang.ClassLoader類的getSystemResourceAsStream()靜態方法
示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);
補充
Servlet中能夠使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);blog
在加載配置文件時,經常採用第5中方式讀取配置信息繼承
如:接口
InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties") Properties info = new Properties(); info.load(in); user = info.getProperty("user"); password = info.getProperty("password");
2、寫方法get
FileOutputStream fo = new FileOutputStream("jdbctest.properties"); Properties info = new Properties(); info.setProperty("user","root"); info.setProperty("password","123456"); info.store(fo,"test");
store方法可以將info屬性列表寫入到Properties中持久化到本地文件。servlet