Написание текстового файла в Ant с кодировкой UTF-16 и спецификацией - PullRequest
2 голосов
/ 28 июля 2011

Мне нужно создать файл в моем проекте 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 

Дело в том:

  • начать с спецификации
  • строкиокончания 0D 0A
  • кодировка UTF-16

Вот что у меня есть на данный момент:

<echo  file='${oledir}/cst.udl' append='false' encoding='UTF-16LE'>
[oledb]
;  Ever
</echo>

Но спецификация отсутствует, а окончания строк нетОК, потому что я использую Windows.

1 Ответ

1 голос
/ 28 июля 2011

Мне кажется, это работает, Ant 1.8.0 на Java 1.6.0:

<concat destfile='cst.udl' append='false' outputencoding='UnicodeLittle'>
<string>[oledb]
; Ever</string>
<filterchain>
    <fixcrlf eol="dos"/>
</filterchain>
</concat>

Использует задачу Ant concat с filterchain для принудительного завершения концов строки DOS. Кодировка UnicodeLittle включает в себя спецификацию, а UTF-16LE - нет.

(Обратите внимание, что в тексте вашей эхо-задачи вы начинаете текст с новой строки:

<echo ... >
text
</echo>

тогда

<echo ... >text</echo>

не содержит новых строк.)

...