java.util.Properties extends Hashtable<Object,Object>
方便讀取 鍵值對 格式的文本資源工具
常用方法一覽
初始化對象
new Properties();
加載文件
load(Reader/InputStream);
loadFromXML(InputStream);
獲取鍵值
getProperty(String key): String
getProperty(String key, String defaultValue): String
插入鍵值
setProperty(String key, String value);
保存文件
store(OutputStream out, String comments);
store(Writer writer, String comments);
storeToXML(OutputStream os, String comment);
storeToXML(OutputStream os, String comment, String encoding)
打印列出所有鍵值對(開發測試用)
list(PrintStream/PrintWriter);
獲取鍵表
propertyNames(): Enumeration // 相當於Iterator
stringPropertyNames(): Set<String>
Properties文本格式
- 以!或#開頭的行將作為comment注釋行
# this is a comment
! this is a comment
- 一行一個鍵值對
- 鍵值對以下面4種字符分隔:[=, :, 空格, tab制表符]
key:value
key=value
key value
key value
- [=, :]作為鍵字符,需要插入轉移符 \
# 鍵為"key1:key2"
key1\:key2=value
# 鍵為"key1=key2"
key1\=key2=value
- 忽略所有非實際意義的空格和制表符
# 下面所有鍵值對格式意義相等
key=value
key = value
key :value
- 值過長時支持分行書寫,在值末尾插入轉移符 \
# 轉移符 \ 后至下一有效值字符直接的所有空格將忽略不計
key = verylonglong\
longlonglong\
longlonglongvalue
- 值可不書寫,視為空字符串
# 下面鍵key均關聯到空字符串
key=
key
- 非ASCII字符需要使用Unicode轉義序列
# “中文” 轉義為 \u4E2D\u6587
key \u4E2D\u6587
參考:http://www.766.com/doc/java/util/Properties.html#load(java.io.Reader)