Spring 批量输出强制CRLF作为行分隔符
Spring batch output force CR-LF as line seperator
我试图强制我的 spring 批处理始终使用 CR-LF[EDIT] 作为行分隔符写入文件,而不管底层系统如何。
我尝试使用 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") 获取默认值。
我确定我遗漏了一些非常简单的东西。
谢谢。
它确实适用于
<property name="lineSeparator" value=" " />
要将 CR 插入 XML,您需要使用其字符实体
,对于 CRLF,您需要
从这里得到它 Whosebug answer
有关更多背景知识和正确的写作(不是 CL-RF),请参阅 newline - Difference between \n and \r
如果您正在使用 Java 配置,以下可能是您要查找的内容:
myFileWriter.setLineSeparator("\r\n");
当使用 " "
解决方案编写 .txt 文件时,结果是单行文件,其中 " "
在文件中显示为纯文本。
我试图强制我的 spring 批处理始终使用 CR-LF[EDIT] 作为行分隔符写入文件,而不管底层系统如何。
我尝试使用 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") 获取默认值。
我确定我遗漏了一些非常简单的东西。
谢谢。
它确实适用于
<property name="lineSeparator" value=" " />
要将 CR 插入 XML,您需要使用其字符实体
,对于 CRLF,您需要
从这里得到它 Whosebug answer
有关更多背景知识和正确的写作(不是 CL-RF),请参阅 newline - Difference between \n and \r
如果您正在使用 Java 配置,以下可能是您要查找的内容:
myFileWriter.setLineSeparator("\r\n");
当使用 " "
解决方案编写 .txt 文件时,结果是单行文件,其中 " "
在文件中显示为纯文本。