2011-02-23 65 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>