Apache Ant:是否可以用原始文本文件中的文本插入/替换文本?

问题描述

| 我想从标准文本文件提取文本,然后将其插入XML中,该XML由Apache Ant用替换标记复制。这可能吗? 示例(这是我到目前为止使用的):
<macrodef name=\"generateUpdateFile\">
    <sequential>
        <echo message=\"Generating update file ...\" level=\"info\"/>
        <copy file=\"update.xml\" tofile=\"${path.pub}/update.xml\" overwrite=\"true\">
            <filterchain>
                <replacetokens>
                    <token key=\"app_version\" value=\"${app.version}\"/>
                    <token key=\"app_updatenotes\" value=\"${app.updatenotes}\"/>
                </replacetokens>
            </filterchain>
        </copy>
    </sequential>
</macrodef>
$ {app.updatenotes}当前是在build.properties文件中定义的字符串。但相反,我想在一个简单的文本文件中编写更新说明,然后从那里获取它们。     

解决方法

        apache ant loadfile任务将允许读取您的文本文件,并将其内容放入
app.updatenotes
属性中。 您可以简单地使用:
<loadresource property=\"app.updatenotes\">
   <file file=\"notes.txt\"/>
</loadresource>
然后,像以前一样使用
filterchain
loadresource
有一些选项,例如,控制文件的编码,或者控制如果文件不存在或不可读时如何反应。