9

我想支持如下的属性文件格式(允许在值周围加上引号):

key1=value1   
key2="value2"
key3='value'

我的问题是 Java Properties 类实现是否像上面那样处理双引号/单引号?我的意思是自动删除引号。

其实我试过不是,只是想在这里确认一下。所以我必须自己删除引号。

编辑:

对于我的简单案例,我有以下代码:

String path = "/tmp/my.properties";
Properties p = new Properties();
p.load(new FileInputStream(new File(path)));

String v = p.getProperty("key2");
if((v.startsWith("\"") && v.endsWith("\"")) || 
   (v.startsWith("\'") && v.endsWith("\'"))) {
    v = v.substring(1, v.length()-1);
}

有关处理此问题的最佳实践的任何建议?

谢谢

4

1 回答 1

1

ResourceBundle要删除引号,请使用您自己的覆盖扩展名加载属性文件handleGetObject

也可以看看:

http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html http://docs.oracle.com/javase/6/docs/api/java/util/ResourceBundle.html

于 2013-02-05T20:38:54.273 回答