標籤:
轉:http://www.2cto.com/px/201006/47834.html
在java.util 包下面有一個類 Properties,該類主要用於讀取以項目的設定檔(以.properties結尾的檔案和xml檔案)。 Properties的建構函式有兩個,一個不帶參數,一個使用一個Properties對象作為參數。 使用Properties讀取.properties檔案 test.properties檔案如下: #測試環境配置:平台路徑配置 jstrd_home=D:/TMS2006/webapp/tms2006/WEB-INF/ dbPort = localhost databaseName = mydb dbUserName = root dbPassword = root # 以下為資料庫表資訊 dbTable = mytable # 以下為伺服器資訊 ip = 192.168.0.9 讀取test.properties的方法如下: impor java.io.*; import java.util.*; public class ReadProperties { public static void main(String[] args) { File pFile = new File("e:\test.properties"); // properties檔案放在e盤下(windows) FileInputStream pInStream=null; try { pInStream = new FileInputStream(pFile ); } catch (FileNotFoundException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } Properties p = new Properties(); try { p .load(pInStream ); //Properties 對象已產生,包括檔案中的資料 } catch (IOException e) { e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. } Enumeration enu = p.propertyNames(); //取出所有的key //輸出--1 p.list(System.out) ; //System.out可以改為其他的輸出資料流(包括可以輸出到檔案) //輸出--2while( enu .hasMoreElements()) { System.out.print("key="+enu.nextElement()); System.out.print("value="+p.getProperty((String)enu .nextElement())); } } } 讀取xml格式的設定檔 test.xml檔案ruxi <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <entry key="koo">bar</entry> <entry key="fu">baz</entry> </properties> 讀取xml的方法 import java.io.IOException; import java.io.File; import java.io.FileInputStream; import java.util.Properties; public class Test { public static void main(String[] args) { File pFile = new File("e:\test.xml"); // properties檔案放在e盤下(windows) FileInputStream pInStream = null; try { pInStream = new FileInputStream(pFile); Properties p = new Properties(); p.loadFromXML(pInStream); p.list(System.out); } catch (IOException e) { e.printStackTrace(); } } } 通過list 方法將Properties寫入Properties檔案 import java.io.IOException; import java.io.File; import java.io.FileInputStream; import java.io.PrintStream; import java.util.Properties; public class Test { public static void main(String[] args) { Properties p = new Properties(); p.setProperty("id","dean"); p.setProperty("password","123456"); try{ PrintStream fW = new PrintStream(new File("e:\test1.properties")); p.list(fW ); } catch (IOException e) { e.printStackTrace(); } } } 儲存為xml import java.io.IOException; import java.io.File; import java.io.FileInputStream; import java.io.PrintStream; import java.util.Properties; public class Test { public static void main(String[] args) { Properties p = new Properties(); p.setProperty("id","dean"); p.setProperty("password","123456"); try{ PrintStream fW = new PrintStream(new File("e:\test1.xml")); p.storeToXML(fW,"test"); } catch (IOException e) { e.printStackTrace(); } } }
java.util Properties使用記錄