比较ANT中的两个字符串

时间:2016-11-15 11:16:23

标签: string ant echo newline equals

HY!

我必须将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

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

1 个答案:

答案 0 :(得分:1)

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

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

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