2015-04-07 71 views
1

我試圖強制我的彈簧批處理文件始終與CR-LF [編輯]作爲行分隔符,而不考慮底層系統。彈簧批輸出強制CR-LF作爲線分隔器

我試圖用FlatFileItemWriter

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

的setLineSeperator但它總是產生與文件 「\ r \ n」 的字符串。我不知道如何避免這種情況。我查看了FlatFileItemWriter的源代碼,它只是附加了行分隔符。他們還使用System.getProperty(「line.seperator」)獲取默認值。

我相信我缺少一些非常簡單的東西。

謝謝。

回答

2

它與

<property name="lineSeparator" value="&#13;&#10;" /> 

工作要插入CR轉換成XML,您需要使用它的字符實體&#13;,爲CRLF需要&#13;&#10;

得到它從這個stackoverflow answer

爲更多的背景和正確的寫作(這不是CL-RF)請參閱newline - Difference between \n and \r

1

如果y歐使用的是Java的配置,下面可能是你要找的東西:

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

當使用"&#13;&#10;"解決方案寫一個.txt文件,將結果與"&#13;&#10;"一個行文件顯示爲直文件中的文本。