【Ant】Ant で、ファイル内の文字列を置換する ~ replace ~

replace / replacefilter

 * ファイル内の文字列を置換する


サンプル

build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project basedir="." default="create.conf" name="SampleJavaCodes">
    <property name="input.file" value="./temp/Template.conf" />
    <property name="output.file" value="./temp/result.conf" />
    <target name="create.conf">
      <copy file="${input.file}" tofile="${output.file}" overwrite="true" />
      <replace file="${output.file}" encoding="UTF-8">
        <replacefilter token="@VALUE1@" value="value1_after_replace"/>
        <replacefilter token="@VALUE2@" value="value2_after_replace"/>
      </replace>
    </target>
</project>

Template.conf

key1=@VALUE1@
key2=@VALUE2@

出力結果:result.conf

key1=value1_after_replace
key2=value2_after_replace

replace あれこれ

ファイルが文字化けする

 * 「encoding」を指定する

<replace file="./output.txt" encoding="UTF-8">
 ・・・