弹簧批量输出力CRLF作为线分离器

时间:2015-04-07 00:05:16

标签: spring spring-batch

我试图强制我的弹簧批处理文件总是使用CR-LF [编辑]作为行分隔符而不管底层系统。

我试图使用FlatFileItemWriter的setLineSeperator

<bean id="myFileWriter" class="org.springframework.batch.item.file.FlatFileItemWriter">
        <property name="lineSeparator">
        <value>\r\n</value>
        </property>
</bean>

但它始终生成带有“\ r \ n”字符串的文件。我不知道如何解决这个问题。我查看了FlatFileItemWriter的源代码,它只是附加了行分隔符。他们也使用System.getProperty(“line.seperator”)来获取默认值。

我确信我错过了一些非常简单的事情。

感谢。

2 个答案:

答案 0 :(得分:3)

它可以与

一起使用
<property name="lineSeparator" value="&#13;&#10;" />

要将CR插入XML,您需要使用其字符实体&#13;,对于您需要的CRLF &#13;&#10;

stackoverflow answer

获得

更多背景和正确的写作(不是CL-RF)请参阅newline - Difference between \n and \r

答案 1 :(得分:2)

如果您使用的是Java配置,则可能是以下内容:

myFileWriter.setLineSeparator("\r\n");

使用"&#13;&#10;"解决方案编写.txt文件时,结果是一行文件,"&#13;&#10;"在文件中显示为直文。