我试图强制我的弹簧批处理文件总是使用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”)来获取默认值。
我确信我错过了一些非常简单的事情。
感谢。
答案 0 :(得分:3)
它可以与
一起使用<property name="lineSeparator" value=" " />
要将CR插入XML,您需要使用其字符实体
,对于您需要的CRLF
更多背景和正确的写作(不是CL-RF)请参阅newline - Difference between \n and \r
答案 1 :(得分:2)
如果您使用的是Java配置,则可能是以下内容:
myFileWriter.setLineSeparator("\r\n");
使用" "
解决方案编写.txt文件时,结果是一行文件," "
在文件中显示为直文。