我正在尝试读取一个包含文件路径的属性,该文件路径包括path中的登录用户名,如下所示。
test.file = ${file.separator}test${file.separator}${user.name}${file.separator}file.txt
当我在类中使用@Value注解读取属性时,以及在pom.xml中将其用作参数时,我能够读取具有操作系统特定路径(/ - unix或-windows)的文件。
当我将其作为常规属性从属性文件中读取时,spring将其作为另一个预期的字符串值读取。
但如果我将此值传递给文件构造函数,则${file.separator}不会得到解析。
在属性文件中表示文件分隔符的最佳方式是什么?我希望避免在代码中用File.separator替换变量的.replace技术。
发布于 2018-02-06 12:51:09
如果你正在寻找一个平台中立的文件分隔符,那么我们一直在使用/分隔符,没有任何问题。
path=C:/Users/<user_name>/myconfig.properties
path=/Users/<user_name>/myconfig.properties下面的代码在两个系统上总是返回true。
finput = new File(prop.getProperty("path"));
System.out.println(finput.exists());https://stackoverflow.com/questions/48616033
复制相似问题