屬性類

Properties 物件是一個 Map, 其鍵和值按照約定為字串。儘管可以使用 Map 的方法來訪問資料,但通常使用更多型別安全的方法 getPropertysetPropertystringPropertyNames

屬性經常儲存在 Java 屬性檔案中,這些檔案是簡單的文字檔案。它們的格式在 Properties.load 方法中有詳細記錄 。綜上所述:

  • 每個鍵/值對是一行文字,在鍵和值之間有空格,等於(=)或冒號(:)。等號或冒號可以在其之前和之後具有任何數量的空格,這將被忽略。
  • 始終忽略前導空格,始終包含尾隨空格。
  • 反斜槓可用於轉義任何字元(小寫 u 除外)。
  • 該行末尾的反斜槓表示下一行是當前行的延續。但是,與所有行一樣,將忽略連續行中的前導空格。
  • 就像在 Java 原始碼中一樣,\u 後跟四個十六進位制數字代表 UTF-16 字元。

大多數框架,包括 Java SE 自己的工具,如 java.util.ResourceBundle,將屬性檔案載入為 InputStreams。從 InputStream 載入屬性檔案時,該檔案可能只包含 ISO 8859-1 字元(即 0-255 範圍內的字元)。任何其他字元必須表示為\u escapes。但是,你可以使用任何編碼編寫文字檔案,並使用 native2ascii 工具(隨每個 JDK 一起提供)來為你進行轉義。

如果要使用自己的程式碼載入屬性檔案,則可以使用任何編碼,只要你基於相應的 Charset 建立 Reader(例如 InputStreamReader )即可。然後,你可以使用 load(Reader) 而不是傳統載入(InputStream)方法載入檔案。

你還可以將屬性儲存在一個簡單的 XML 檔案中,該檔案允許檔案本身定義編碼。這樣的檔案可以使用 loadFromXML 方法載入。描述此類 XML 檔案結構的 DTD 位於 http://java.sun.com/dtd/properties.dtd