.properties 文件中的特殊字符 ("\")
Posted
技术标签:
【中文标题】.properties 文件中的特殊字符 ("\\")【英文标题】:Special characters ("\") in .properties-file.properties 文件中的特殊字符 ("\") 【发布时间】:2016-12-14 04:31:15 【问题描述】:我正在开发一个在 Windows 上执行的 Java 应用程序。我在 .properties 文件中有几个反斜杠(“\”)。这是文件的样子:
dir=\\127.0.0.1\d$\dir\dir2\dir3
我使用Spring
注解Value
读取了属性dir
:
@Value("$dir")
protected String dir;
当在代码中使用属性dir
时,这会产生字符串127.0.0.1d$dirdir2dir3
。
我尝试过这样的 unicode 转义:
dir=\u005C\u005C127.0.0.1\u005Cd$\u005Cdir\u005Cdir2\u005Cdir3
我也尝试过像这样的反斜杠转义:
dir=\\\\127.0.0.1\\d$\\dir\\dir2\\dir3
当在代码中使用属性dir
时,上述两种尝试都会产生字符串\\127.0.0.1d$dirdir2dir3
。
我希望在代码中使用属性时将属性dir
设置为\\127.0.0.1\d$\dir\dir2\dir3
。 .properties 文件应该是什么样子才能得到这个结果?
【问题讨论】:
你试过单引号吗? @NicolasHenneaux 是的。这将导致'127.0.0.1d$dirdir2dir3'。 使用正斜杠。 【参考方案1】:您可以使用正斜杠,超出其在 Windows 上工作的原因
【讨论】:
【参考方案2】:反斜杠转义旨在让编译器了解下一个字符是有效的并将结果存储在String
中。当您键入\\127.0.0.1\d$\dir\dir2\dir3
时,所有反斜杠都被转义,除了第二个(显然)。不要在这里使用String
对象。尝试使用Properties
并发布您的结果。我有相同的经验,并且使用 Properties 效果很好。
【讨论】:
这是一个属性文件。编译器永远不会靠近它。 JVM 也是。当遇到反斜杠时,它会转义反斜杠并将下一个字符添加到String
以上是关于.properties 文件中的特殊字符 ("\")的主要内容,如果未能解决你的问题,请参考以下文章