如何使Ant读取文件的行成为逗号分隔的属性?

如何使Ant读取文件的行成为逗号分隔的属性?,ant,Ant,我想知道将文件内容读入逗号分隔属性的最简单方法是什么,该属性适合作为filelist的files属性的参数。我有两个解决方案,但我对其中任何一个都不满意,我想问是否有人知道更好(更短)的方法 这只适用于较新的Ants,而且似乎不可信,因为输入文件的每一行都以basedir作为前缀,这使得有必要调用flattmapper再次删除目录 <pathconvert property="files2" pathsep=","> <resources> <resou

我想知道将文件内容读入逗号分隔属性的最简单方法是什么,该属性适合作为
filelist
files
属性的参数。我有两个解决方案,但我对其中任何一个都不满意,我想问是否有人知道更好(更短)的方法

这只适用于较新的Ants,而且似乎不可信,因为输入文件的每一行都以
basedir
作为前缀,这使得有必要调用
flattmapper
再次删除目录

<pathconvert property="files2" pathsep=",">
  <resources>
    <resourcelist>
      <file file="IMPORT"/>
    </resourcelist>
  </resources>
  <flattenmapper/>
</pathconvert>
这对我来说似乎更好,因为它也适用于较年长的蚂蚁,但打字要复杂得多


有较短的方法吗?

在导入文件中使用相对路径时,使用FlatterMapper的替代方法是:



我想你已经把它搞定了。。。请允许我问一下,为什么在第一个示例中使用FlatteMapper会让您感到困扰?@PatriceM。这样就无法在文件列表中使用相对目录名。它们将无法在
flattmapper
中生存,因为
flattmapper
将删除所有目录。感谢您的澄清。也许构造可以帮助(参见下面更详细的答案)
<loadfile property="files1" srcFile="IMPORT">
  <filterchain>
    <tokenfilter>
      <replaceregex pattern="$" replace=","/>
    </tokenfilter>
    <striplinebreaks/>
    <tokenfilter>
      <replaceregex pattern=",$" replace=""/>
    </tokenfilter>
  </filterchain>
</loadfile>
<pathconvert property="files2" pathsep=",">
  <resources>
   <mappedresources>
    <resourcelist>
      <file file="IMPORT"/>
    </resourcelist>
    <globmapper from="*" to="${my.base.dir}/*"/>
   </mappedresources>
  </resources>
  <flattenmapper/>
</pathconvert>