Java属性:如何转义#(哈希)

fly*_*ire 12 java escaping properties internationalization

如何#在Java属性文件中转义哈希符号().

我们有一个使用Java属性文件的国际化框架.

有一个名为number的列,我们希望它的标题是#.这个 ...

number=#
Run Code Online (Sandbox Code Playgroud)

......不起作用.

Tri*_*mon 7

这个应该没有任何转义字符:

number=#
Run Code Online (Sandbox Code Playgroud)

刚刚使用代码做了一个小测试....

prop.load(new FileInputStream ("./res/app.properties"));
System.out.println("Property: " +prop.getProperty("Number"));
Run Code Online (Sandbox Code Playgroud)

...和属性文件(注意大写/小写):

Number=#
Text=test
Run Code Online (Sandbox Code Playgroud)

结果:

Property: #
Run Code Online (Sandbox Code Playgroud)

所以请检查拼写,小写/大写或进一步处理.

查看这个那个(链接Java文档)了解更多信息.

ps:虽然不应该要求你也可以尝试Unicode序列:\u0023.

干杯!


Dmi*_*miN 0

由于Java中默认的转义字符是尝试'\'用它来转义哈希值。

  • 在答案中使用“尝试”是一种“不好的做法”。您要么*知道*并自信地回答,*或*将其作为评论发布或根本不回答。 (14认同)