位置:首頁 > Java技術 > Java教學 > Java Properties類

Java Properties類

Properties 是哈希表的一個子類。它是用來維持值列表,其中的鍵是一個字符串,值也是一個字符串。

Properties類被許多其他的Java類使用。例如,它是對象通過System.getProperties()獲得環境的值返回的類型。

Properties定義以下實例變量。這個變量保存一個Properties對象相關聯的默認屬性列表。

Properties defaults;

Properties 定義了兩個構造函數。第一個版本創建一個冇有默認值的屬性的對象:

Properties( )

第二個創建一個使用propDefault 其默認值對象。在這兩種情況下,屬性列表是空的:

Properties(Properties propDefault)

除了由哈希表中定義的方法,Properties 定義以下方法:

SN 方法及描述
1 String getProperty(String key)
返回與key相關聯的值。如果key既不在列表中,也不在默認屬性列表中,null對象被返回。
2 String getProperty(String key, String defaultProperty)
返回與key相關聯的值。如果鍵既不在列表中,也不在默認屬性列表,則defaultProperty返回。
3 void list(PrintStream streamOut)
傳送屬性列表來鏈接到streamOut輸出流。
4 void list(PrintWriter streamOut)
傳送屬性列表來鏈接到streamOut輸出流。
5 void load(InputStream streamIn) throws IOException
輸入一個屬性列表與key有關聯的streamIn輸入流。
6 Enumeration propertyNames( )
返回鍵的枚舉。這包括默認屬性列表中找到這些鍵。
7 Object setProperty(String key, String value)
關聯key和value。返回與key相關聯的先前值,如無這種關聯存在,則返回null。
8 void store(OutputStream streamOut, String description)
通過寫入說明中指定的字符串後,屬性列表寫入鏈接到streamOut輸出流。

例子:

下麵的程序說明了幾個通過這種數據結構支持的方法:

import java.util.*;

public class PropDemo {

   public static void main(String args[]) {
      Properties capitals = new Properties();
      Set states;
      String str;
      
      capitals.put("Illinois", "Springfield");
      capitals.put("Missouri", "Jefferson City");
      capitals.put("Washington", "Olympia");
      capitals.put("California", "Sacramento");
      capitals.put("Indiana", "Indianapolis");

      // Show all states and capitals in hashtable.
      states = capitals.keySet(); // get set-view of keys
      Iterator itr = states.iterator();
      while(itr.hasNext()) {
         str = (String) itr.next();
         System.out.println("The capital of " +
            str + " is " + capitals.getProperty(str) + ".");
      }
      System.out.println();

      // look for state not in list -- specify default
      str = capitals.getProperty("Florida", "Not Found");
      System.out.println("The capital of Florida is "
          + str + ".");
   }
}

這將產生以下結果:

The capital of Missouri is Jefferson City.
The capital of Illinois is Springfield.
The capital of Indiana is Indianapolis.
The capital of California is Sacramento.
The capital of Washington is Olympia.

The capital of Florida is Not Found.