我需要在我的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
重点是:
这就是我现在所拥有的:
<echo file='${oledir}/cst.udl' append='false' encoding='UTF-16LE'>
[oledb]
; Ever
</echo>
但缺少BOM并且行结尾不正常,因为我使用的是Windows。
答案 0 :(得分:1)
这似乎对我有用,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>
使用带有concat
task的Ant filterchain来强制执行DOS行结尾。
UnicodeLittle
encoding包含输出中的BOM,而UTF-16LE
则不包括。
(请注意,在echo任务的文本中,您使用换行符启动文本:
<echo ... >
text
</echo>
,而
<echo ... >text</echo>
不包含换行符。)