使用换行符在java中读取.properties文件

时间:2016-12-22 15:40:59

标签: java xml ant properties

我知道很多次都会问这个问题,但所有的解决方案对我都没有用。属性文件将从Ant中读取。

现在我有这个值应显示如下:

Germany
Hamburg
Kolonie Str. 14.

所以我在属性文件中有以下值

myAdress= Germany \n Hamburg \n Kolonie Str. 14.

我也使用了所有可能的制动线,如:

\ or \ \n or \n \ or ${line.separator}

所有这些可能没有工作,而是显示额外的空白空间而不是新线!那么我所拥有的是:

Germany  Hamburg   Kolonie Str. 14.

此属性将写入xml文件,代码将直接从xml文件中读取,而不是从属性文件中读取。

<property name="confirmText" value="Germany  Hamburg   Kolonie Str. 14." />

可能是XML问题,不是来自属性文件,而且XML文件剂量也没有来自属性的任何刹车线!!似乎属性文件无法向XML提供正确的断行!!

1 个答案:

答案 0 :(得分:0)

您的问题是,您不能将换行符添加到XML属性中。在您的属性文件中使用\n是完全正确的。但是您将此属性文件转换为某种专有XML格式,或者至少不转换为Properties类定义的属性XML格式,因为它的格式不同,您可以在值中存储换行符,因为它们未存储在属性。

因此无论生成XML,都要将属性文件中的值设置为属性值,在此期间,换行符将被预期的空格替换。根据您使用的XML格式,您必须转义换行符。如果读取此XML的软件将属性中的\ n解释为换行符,那么您的属性到XML转换器必须相应地转义换行符,或者您必须在属性文件中使用转义字符,因此{ {1}}将导致\\n作为双字符序列而不是换行符,因此它将在您的XML属性中以\n结尾。