一尘不染

Java属性反斜杠

java

我正在使用Java属性读取属性文件。一切工作正常,但是Properties静默删除反斜杠。

(即)

original: c:\sdjf\slkdfj.jpg

after: c:sdjfslkdfj.jpg

我如何使Properties不这样做?

我正在使用代码 prop.getProperty(key)

我正在从文件获取属性,并且我想避免添加双反斜杠


阅读 292

收藏
2020-09-08

共1个答案

一尘不染

正是由于Properties.load()引起了您看到的问题,因为反斜杠用于特殊用途。

通过使用反斜杠字符\来结束行终止符序列,可以将包含键对对的所有数据的逻辑行分布在几条相邻的自然行之间。

如果您无法使用CoolBeans的建议,那么您可以做的是先将属性文件读取为字符串,然后用双反斜杠替换反斜杠,然后将其提供给Properties.load()

String propertyFileContents = readPropertyFileContents();

Properties properties = new Properties();
properties.load(new StringReader(propertyFileContents.replace("\\", "\\\\")));
2020-09-08