1.Properties類簡介 Properties類(Java.util.Properties),主要用於讀取Java的配置文件,各種語言都有自己所支持的配置文件,配置文件中很多變數是經常改變的,這樣做也是為了方便用戶,讓用戶能夠脫離程式本身去修改相關的變數設置。像Python支持的配置文件是.i ...
1.Properties類簡介
Properties類(Java.util.Properties),主要用於讀取Java的配置文件,各種語言都有自己所支持的配置文件,配置文件中很多變數是經常改變的,這樣做也是為了方便用戶,讓用戶能夠脫離程式本身去修改相關的變數設置。像Python支持的配置文件是.ini文件,同樣,它也有自己讀取配置文件的類ConfigParse,方便程式員或用戶通過該類的方法來修改.ini配置文件。在Java中,其配置文件常為.properties文件,格式為文本文件,文件的內容的格式是“鍵=值”的格式,文本註釋信息可以用"#"來註釋。
#person information |
Properties的父類為 HashTable類。
Propertise類常用方法: (1)setProperty ( String key, String value) : 調用 Hashtable 的方法 put 。他通過調用基類的put方法來設置 鍵 - 值對。 (2)getProperty ( String key):用指定的鍵在此屬性列表中搜索屬性。也就是通過參數 key ,得到 key 所對應的 value。 (3)load ( InputStream inStream):從輸入流中讀取屬性列表(鍵和元素對)。 (4)store ( OutputStream out, String comments):將Properties 表中的屬性列表(鍵和元素對)寫入輸出流。comments為註釋參數。該方法將鍵 - 值對寫入到指定的文件中去。 (5)list(System.out):列印配置文件信息到控制台。 (6)clear (),清除所有裝載的 鍵 - 值對。該方法在基類中提供。 |
2.properties方法演示
1 public class PropertiesDemo { 2 3 /** 4 * Properties 常用到配置文件參數 5 * @param args 6 */ 7 public static void main(String[] args) { 8 // TODO Auto-generated method stub 9 10 // methodDemo(); 11 // methodDemo2(); 12 methodDemo3(); 13 } 14 15 private static void methodDemo3() { 16 // TODO Auto-generated method stub 17 Properties prop = new Properties(); 18 19 //創建輸ru流對象 20 FileInputStream inStream = null; 21 try { 22 inStream = new FileInputStream("H:\\workspace\\Testfile\\info.properties"); 23 prop.load(inStream);//載入數據 24 25 prop.setProperty("name", "zhangsan");//修改參數 26 27 prop.list(System.out);//列印 28 29 30 } catch (IOException e) { 31 // TODO Auto-generated catch block 32 e.printStackTrace(); 33 } finally{ 34 if(inStream != null){ 35 try { 36 inStream.close(); 37 } catch (IOException e) { 38 // TODO Auto-generated catch block 39 throw new RuntimeException(); 40 } 41 } 42 } 43 44 45 } 46 47 /** 48 * 演示properties持久化 49 */ 50 private static void methodDemo2() { 51 // TODO Auto-generated method stub 52 Properties prop = new Properties(); 53 54 prop.setProperty("name", "zhangsan"); 55 prop.setProperty("age", "18"); 56 57 //創建輸出流對象 58 FileOutputStream fos = null; 59 try { 60 fos = new FileOutputStream("H:\\workspace\\Testfile\\info.properties"); 61 prop.store(fos, "person information");//第二個參數為註釋信息 62 63 64 65 } catch (IOException e) { 66 // TODO Auto-generated catch block 67 e.printStackTrace(); 68 } finally{ 69 if(fos != null){ 70 try { 71 fos.close(); 72 } catch (IOException e) { 73 // TODO Auto-generated catch block 74 throw new RuntimeException(); 75 } 76 } 77 } 78 79 } 80 81 /** 82 * 演示setProperty()和prop.list(System.out) 83 */ 84 private static void methodDemo() { 85 // TODO Auto-generated method stub 86 Properties prop = new Properties(); 87 88 prop.setProperty("name", "zhangsan"); 89 prop.setProperty("age", "18"); 90 91 prop.list(System.out);//直接使用list方法列印輸出 92 93 /* 94 Set<String> set = prop.stringPropertyNames(); 95 96 for(String key : set){ 97 String value = prop.getProperty(key); 98 System.out.println(key+":"+value); 99 }*/ 100 101 } 102 103 }
2017-12-30 內容來自創智播客課程
Java中Properties類的操作 - bakari - 博客園