Java属性,获取文件路径
logpath = LoggerUtils.getProperties().getProperty("log.path"); System.out.println("logpath: " + logpath);
上面的代码返回:
logpath: C:UsersMauriceDesktopLogs
在属性文件中是:
log.path C:\Users\Maurice\Desktop\Logs
如何保留文件分隔符? 我希望这也适用于Linux,而不仅仅是Windows。
实际上,您需要将其放在属性文件中:
log.path C:\\Users\\Maurice\\Desktop\\Logs
看到这个:
更精确的load
方法:
向下滚动一下,您会看到以下内容:
该方法不会在非有效转义字符作为错误之前处理反斜杠字符\; 反斜杠是默默地丢弃的。 例如,在Java字符串中,序列“\ z”将导致编译时错误。 相反,这种方法会默默地删除反斜杠。 因此,此方法将两个字符序列“\ b”视为等同于单个字符“b”。
反斜杠\
是一个以其他方式静默删除的转义字符。
在属性文件中,您需要使用正斜杠:
C:/Users/Maurice/Desktop/Logs
或者,转义反斜杠:
C:\\Users\\Maurice\\Desktop\\Logs
您需要转义斜杠,因为它们是特殊字符。 请参阅: Java属性反斜杠
Java 属性文件格式规定反斜杠字符(“ \
”)转义后面的字符,因此要获得文字窗口路径,您必须具有:
logpath: C:\\Users\\Maurice\\Desktop\\Logs
但是,Java会自动为您转换路径分隔符,以适应运行时平台,因此您可以通过始终使用正斜杠来避免这种麻烦:
logpath: C:/Users/Maurice/Desktop/Logs
您可以先将 Properties
存储到文件中,然后再次加载以使用。 Properties
将负责逃避/取消任何事情。