如何包括“#";在属性文件中'#';escape不';不起作用
本文关键字:#39# 文件 escape 不起作用 何包括 quot 属性 | 更新日期: 2023-09-27 18:28:56
我需要在属性文件中包含带#的值,但#用于属性文件中的注释行。我该怎么做。
我想把映射定义为跟随
someField[#]=someValue
但#
之后的任何内容都会被评论。谢谢你的帮助。
您可以使用'
逃离#
,如
someField'#=1
它将为您提供{someField#=1}
在Java 8上测试工作正常,没有任何转义符
下的示例
属性
name# = #John#
Java代码
System.out.println( p.getProperty("name#"));
打印:#John#
编辑:
如果密钥包含第一个字符#,在这种情况下,您需要在属性文件中用"''"对其进行转义
例如
'#country# = #India#
这样写:
key'#1=value'#1
其他特殊字符(如"="、":")的作用相同。
Java代码:
写入属性:
Properties p = new Properties(); p.load(PropertiesTest.class.getResourceAsStream("prop.properties")); p.setProperty("key#=dsafw", "value $#@^$%@**^"); p.setProperty("key#1", "value#1"); p.store(new FileOutputStream(new File("../TEMP/prop.properties")), "write special property kvs");
读取属性:
p.load(new FileInputStream(new File("../TEMP/prop.properties"))); Enumeration<Object> keys = p.keys(); while(keys.hasMoreElements()){ String key = (String) keys.nextElement(); System.out.println("key --> " + key + ", value --> " + p.getProperty(key)); }