Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java .properties文件中的特殊字符(“\\”)_Java_Spring_Properties File - Fatal编程技术网

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.

我正在开发一个在Windows上执行的Java应用程序。在.properties文件中有几个反斜杠(\)。这是文件的外观:

dir=\\127.0.0.1\d$\dir\dir2\dir3
我使用
Spring
annotation
Value
读取属性
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也一样。当遇到反斜杠时,它将转义反斜杠并将下一个字符添加到
字符串中