2011-02-23 39 views
2

我需要从文件中读取数据并对其进行一些进一步的处理。如何使用Ant脚本遍历文件内容?

其实我只需要压缩那些被修改的文件。所以准备了tracksheet.txt,其中包含源代码中所有修改文件的列表。

tracksheet.txt文件中读取每个文件,从svn中获取并压缩它。

回答

8

您可以使用Ant的loadfile任务加载文件的内容。例如,假设每个条目是一个单独的线,就成了这个样子:

<loadfile 
    property="changed.files" 
    srcFile="tracksheet.txt"> 
    <filterchain> 
    <striplinebreaks/> 
    </filterchain> 
</loadfile> 

然后你可以通过在属性中的所有值使用Ant-的Contrib的forforeach任务循环。例如:

<for list="${changed.files}" param="changedFile"> 
    <sequential> 
    <echo>TODO fetch the file @{changedFile} from SVN</echo> 
    <echo>TODO zip the file @{changedFile}</echo> 
    </sequential> 
</for> 

请注意,Ant-Contrib不是标准安装的一部分。你需要一个单独的罐子。安装/使用说明是在网站上:http://ant-contrib.sourceforge.net

+0

当时有用的我,但我还用 \t \t \t ** ** \t \t \t \t作为列表中的for,预计用逗号分隔。 – 2014-10-07 14:34:55

0

克里斯类似他的回答:

<loadfile property="changed.files" srcFile="tracksheet.txt"/> 

<for list="${changed.files}" param="changedFile" delimiter="${line.separator}"> 
    <sequential> 
    <echo>@{changedFile}</echo> 
    </sequential> 
</for>