我无法使用Java读取属性文件。它意味着在此属性文件中向后斜杠不起作用。它显示为,此目的地:C:Usersxxx.a
String filename="D://Desktop//xxx.properties";
is = new FileInputStream(filename);
Properties prop=new Properties();
prop.load(is);
System.out.println("destination :"+prop.getProperty("destination"));
属性文件是:
destination=C:\Users\xxx.a\
结果显示
destination :C:Usersxxx.a
但我想显示目的地:C:\ Usersxxx.a \
你能建议我吗?
答案 0 :(得分:2)
\
是逃脱角色。
正斜杠/
在Unix环境中用作路径分隔符
反斜杠\
在Windows环境中用作路径分隔符
因此,您需要使用\\
或/
作为路径分隔符。您无法在java中直接使用\
。因为,它是一个逃脱角色。
因此,您需要在属性文件中进行更改以使您的程序正常工作。
在属性文件中使用/
或\\
作为路径分隔符。
在您的情况下,您希望显示为C:\Users\xxx.a\
因此,在属性文件中使用C:\\Users\\xxx.a\\
将输出作为C:\Users\xxx.a\
答案 1 :(得分:0)
您需要在属性文件中添加两个斜杠,如下所示:
destination=C:\\Users\\xxx.a\\
另一种方法是在属性文件中交换斜杠:
destination=C:/Users/xxx.a/
\
是转义字符,因此将其删除。添加两个斜杠会从第一个斜杠中删除,因此只剩下一个斜杠。
答案 2 :(得分:0)
\
字符在许多编程语言中用作“转义字符”。它为文本中的下一个字符赋予了特殊含义。例如,\n
对特殊字符“new-line”进行编码。
使用\\
代替\
。这向解析器指示您的意思是实际符号,而不是转义字符。例如,您的属性值为:
destination=C:\\Users\\xxx.a\\
答案 3 :(得分:0)
您可以将其存储在D:/Desktop/xxx.properties中
destination=C:/Users/xxx.a/
并用一个反斜杠显示它
String fileName = prop.getProperty("destination");
System.out.println("destination: " + fileName); // shows: C:/Users/xxx.a/
System.out.println("destination: " + Paths.get(fileName)); // shows: C:\Users\xxx.a