如何使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>