Java 如何包括#&引用;在属性文件中'\#';逃逸不';行不通
我需要在属性文件中包含带#的值,但#用于属性文件中的注释行。我该怎么做 我想定义如下映射Java 如何包括#&引用;在属性文件中'\#';逃逸不';行不通,java,c#,properties,Java,C#,Properties,我需要在属性文件中包含带#的值,但#用于属性文件中的注释行。我该怎么做 我想定义如下映射 someField[#]=someValue 但是#之后的任何内容都会被评论。 谢谢你的帮助。你可以用\来逃避\,比如 someField\#=1 这会让你{someField#=1}这样写: key\#1=value\#1 其他特殊字符如“=”、“:”的工作原理相同 Java代码: 写入属性: Properties p = new Properties(); p.load(PropertiesTes
someField[#]=someValue
但是#
之后的任何内容都会被评论。
谢谢你的帮助。你可以用\
来逃避\
,比如
someField\#=1
这会让你{someField#=1}
这样写:
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));
}
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));
}
p.load(新文件输入流(新文件(“../TEMP/prop.properties”));
枚举键=p.键();
while(keys.hasMoreElements()){
String key=(String)keys.nextElement();
System.out.println(“key-->“+key+”,value-->“+p.getProperty(key));
}
在Java8上测试,无需任何转义字符即可正常工作 下面的例子 属性
name# = #John#
System.out.println( p.getProperty("name#"));
Java代码
name# = #John#
System.out.println( p.getProperty("name#"));
打印:约翰#
编辑:
如果密钥包含的第一个字符为#,则需要在属性文件中使用“\”对其进行转义
e、 g
@PrakashSharma我测试过了
key\#=1
(在属性文件中),使用properties.load(InputStream)
读取,并获得{key\#=1}
。哈希用于属性文件中的注释。。它不起作用