Java 使用UTF-16编码和BOM在Ant中编写文本文件
我需要在我的ant项目中生成一个如下所示的文件:Java 使用UTF-16编码和BOM在Ant中编写文本文件,java,encoding,ant,byte-order-mark,Java,Encoding,Ant,Byte Order Mark,我需要在我的ant项目中生成一个如下所示的文件: FF FE 5B 00 6F 00 6C 00|65 00 64 00 62 00 5D 00 |˙ţ[ o l e d b ] 0D 00 0A 00 3B 00 20 00|45 00 76 00 65 00 72 00 |. . ; E v e r 重点是: 从BOM表开始 线端点0D 0A UTF-16编码 这就是我目前的情况: <echo file='${oledir}/cst.udl' append='false'
FF FE 5B 00 6F 00 6C 00|65 00 64 00 62 00 5D 00 |˙ţ[ o l e d b ]
0D 00 0A 00 3B 00 20 00|45 00 76 00 65 00 72 00 |. . ; E v e r
重点是:
- 从BOM表开始
- 线端点0D 0A
- UTF-16编码
<echo file='${oledir}/cst.udl' append='false' encoding='UTF-16LE'>
[oledb]
; Ever
</echo>
[oledb]
; 曾经
但是,由于我使用Windows,BOM表丢失,行尾不正常。这似乎对我有用,Java 1.6.0上的Ant 1.8.0:
<concat destfile='cst.udl' append='false' outputencoding='UnicodeLittle'>
<string>[oledb]
; Ever</string>
<filterchain>
<fixcrlf eol="dos"/>
</filterchain>
</concat>
鉴于
<echo ... >text</echo>
文本
不包含换行符。)
<echo ... >text</echo>