比较 ANT 中的两个字符串

Compare two strings in ANT

嗨!

我必须将 ANT 中的两个字符串与 <equals> 任务进行比较,但即使控制台显示正确的字符串,它也不适用于我的代码。这是代码:

<echo file="file.txt" append="true">AB${line.separator}</echo>
<echo file="file.txt" append="true">CD${line.separator}</echo>

<loadfile property="content" srcFile="file.txt">
    <filterchain>
      <filterreader classname="org.apache.tools.ant.filters.HeadFilter">
       <param name="lines" value="1" />
      </filterreader>
    </filterchain>
</loadfile>
<echo>${content}</echo>

            <if>
                <equals arg1="${content}" arg2="AB" />
                  <then><echo message="OK"/></then>
                  <else><echo message="not OK"/></else>
            </if>

构建的结果是:

11:24:23      [echo] AB
11:24:23      [echo] not OK

你能告诉我如何解决这个问题吗?谢谢 :)

我怀疑 arg2 属性缺少行分隔符。试试这个:

<equals arg1="${content}" arg2="AB${line.separator}" />

或者,更好的是,尝试清除所有行分隔符的 content