Java的Properties使用及格式定义

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)

posted @ 2014-08-03 16:11  wavky  阅读(6271)  评论(0编辑  收藏  举报