Java .properties文件中的特殊字符(“\\”)
我正在开发一个在Windows上执行的Java应用程序。在.properties文件中有几个反斜杠(\)。这是文件的外观:Java .properties文件中的特殊字符(“\\”),java,spring,properties-file,Java,Spring,Properties File,我正在开发一个在Windows上执行的Java应用程序。在.properties文件中有几个反斜杠(\)。这是文件的外观: dir=\\127.0.0.1\d$\dir\dir2\dir3 我使用SpringannotationValue读取属性dir: @Value("${dir}") protected String dir; 当代码中使用属性dir时,这将导致字符串127.0.0.1d$dir2dir3 我曾尝试过类似这样的unicode转义: dir=\u005C\u005C127.
dir=\\127.0.0.1\d$\dir\dir2\dir3
我使用Spring
annotationValue
读取属性dir
:
@Value("${dir}")
protected String dir;
当代码中使用属性dir
时,这将导致字符串127.0.0.1d$dir2dir3
我曾尝试过类似这样的unicode转义:
dir=\u005C\u005C127.0.0.1\u005Cd$\u005Cdir\u005Cdir2\u005Cdir3
dir=\\\\127.0.0.1\\d$\\dir\\dir2\\dir3
我也尝试过用反斜杠作为转义,如下所示:
dir=\u005C\u005C127.0.0.1\u005Cd$\u005Cdir\u005Cdir2\u005Cdir3
dir=\\\\127.0.0.1\\d$\\dir\\dir2\\dir3
当代码中使用属性dir
时,上述两次尝试都会产生字符串\\127.0.0.1d$dir2dir3
在代码中使用属性时,我希望将属性
dir
设置为\\127.0.0.1\d$\dir\dir2\dir3
。.properties文件应该是什么样子才能得到这个结果?反斜杠转义是为了让编译器理解下一个字符是有效的,并将结果存储在字符串中。键入\\127.0.0.1\d$\dir\dir2\dir3
时,除第二个反斜杠外,所有反斜杠都将转义(显然)。不要在此处使用字符串
对象。尝试使用属性
并发布结果。我也有同样的经验,属性的使用也很好。你可以使用前斜杠,毫无理由它可以在Windows上工作。你试过单引号吗?@NicolasHenneaux是的。它将生成“127.0.0.1d$dir2dir3”。请使用正斜杠。这是一个属性文件。编译器永远不会接近它,JVM也一样。当遇到反斜杠时,它将转义反斜杠并将下一个字符添加到字符串中