天天看點

Android下用Properties儲存程式配置

讀寫函數分别如下:

1. import java.io.FileInputStream;  
2. import java.io.FileOutputStream;  
3. import java.util.Properties;  
4.   
5. public Properties loadConfig(Context context, String file) {  
6. Properties properties = new Properties();  
7. try {  
8. FileInputStream s = new FileInputStream(file);  
9. properties.load(s);  
10. } catch (Exception e) {  
11. e.printStackTrace();  
12. }  
13. return properties;  
14. }  
15.   
16. public void saveConfig(Context context, String file, Properties properties) {  
17. try {  
18. FileOutputStream s = new FileOutputStream(file, false);  
19. properties.store(s, "");  
20. } catch (Exception e){  
21. e.printStackTrace();  
22. }  
23. }      

orz,是不是發現什麼了?對了,這兩個函數與Android一點關系都沒有嘛。。

是以它們一樣可以在其他标準的java程式中被使用

在Android中,比起用純字元串讀寫并自行解析,或是用xml來儲存配置,

Properties顯得更簡單和直覺,因為自行解析需要大量代碼,而xml的操作又遠不及Properties友善

使用方法如下:

寫入配置:

1. Properties prop = new Properties();  
2. prop.put("prop1", "abc");  
3. prop.put("prop2", 1);  
4. prop.put("prop3", 3.14);  
5. saveConfig(this, "/sdcard/config.dat", prop);      

讀取配置:

1. Properties prop = loadConfig(this, "/sdcard/config.dat");  
2. String prop1 = prop.get("prop1");      

注:也可以用Context的openFileInput和openFileOutput方法來讀寫檔案

此時檔案将被儲存在 /data/data/package_name/files下,并交由系統統一管理