⑴ 關於ant的搜索並處理文件
<fileset dir="${frame.dir}" includes="**/a.cfg" casesensitive="true">
</fileset>
擴展程序讀取a.cfg
⑵ Ant讀取文本中的一行
湊合使用XmlProperty
⑶ ant 查找文件中是否含有某字元串
如何判斷一個文件裡面是否有特定的字元串
比如我有一個temp文件。
如果內容含有Hello Would則echo 「Hello Would」
如果內容不含有Hello Would則echo 「Hello China」
⑷ ant 怎麼刪除文件里模糊匹配的內容
用fileset 來過濾要刪掉的目錄和文件
<delete verbose="true" includeemptydirs="true">
<fileset dir="${buildDir}">
<include name="**/*"/>
</fileset>
</delete>
註:includeemptydirs 的意思是就算文件夾是空的,也同樣刪除。
這樣就會避免使用像
<delete dir="build">
</delete>
這樣就會把build文件夾以及下面的所有子目錄一起刪掉。很多時候父目錄是沒有必要每次都刪了重建的,只要清空這個文件夾就好了。
⑸ 如何在Ant中使用邏輯判斷比如判斷文件是否存在
好久不寫ant腳本了,最近兩天在用ant做web應用的安裝部署腳本,為了實現web伺服器的多版本兼容,必然要使用邏輯判斷,比如我要判斷是安裝在weblogic8上還是weblogic9上,而在ant中處理邏輯判斷真是麻煩,只能作用於task,要利用property來做判斷,使用available來設置property。例如:
<?xml version="1.0" encoding="GB2312"?>
<project name="weblogic ant task" default="build">
<target name="detect.file" >
<condition property="fileIsExists" >
<and>
<available file="c:/123.txt"/>
</and>
</condition>
</target>
<target name="echoDemo" if="fileIsExists" depends="detect.file">
<echo message="hello ant"/>
</target>
<target name="build">
<antcall target="echoDemo"/>
</target>
</project>
上面判斷一個文件,如果存在的話 fileIsExists 就為true,echoDemo這個task在執行前會先判斷fileIsExists 是否為true如果不為true就不執行了。c盤下面有123.txt的話會列印hello ant 否則不會列印。
這裡面還有一個小陷阱,我習慣使用antcall,不喜歡使用depends,但是使用antcall的話就會有問題,例如我最開始這么寫的,就不行。
<?xml version="1.0" encoding="GB2312"?>
<project name="weblogic ant task" default="build">
<target name="detect.file">
<condition property="fileIsExists">
<and>
<available file="c:/123.txt"/>
</and>
</condition>
</target>
<target name="echoDemo" if="fileIsExists">
<echo message="hello ant"/>
</target>
<target name="build">
<antcall target="detect.file"/>
<antcall target="echoDemo"/>
</target>
</project>
使用antcall的話在echoDemo這個task執行的時候fileIsExists這個屬性永遠不為true,即便在執行完detect.file後它已經為true了,但是它不會被傳遞到下一個task,沒用深入研究過ant,所以具體內部實現還不了解。
下面是ant的官方參考文檔
更復雜的可以參考
http://ant.apache.org/manual/CoreTasks/conditions.html
⑹ Java的Ant文件是什麼如何創建
ant文件是build.ant。我也有用這個生成固定規格文件用的,我是用它生成資料庫腳本用,挺方便的
你在項目裡面就有新建ant文件那個東西,new--》其他---》搜索ant然後建立就好了
給你看個樣本
<?xml version="1.0" encoding="GB2312"?>
<!-- ======================================================================
2013-01-30
project:資料庫腳本
description:生成資料庫腳本包用的Ant腳本
====================================================================== -->
<project name="SQLscript" default="default">
<property name="FILE_NAME_RESOURCE" value="resource_tmrpt.sql" />
<property name="FILE_NAME_INIT" value="init_tmrpt.sql" />
<!-- 創建資料庫資源 -->
<property name="TMRPT_TABLE_SCRIPT" value="./03_Table" />
<property name="TMRPT_SEQUENCE_SCRIPT" value="./08_sequence" />
<property name="TMRPT_FUNCTION_SCRIPT" value="./07_function" />
<property name="TMRPT_PROCEDURE_SCRIPT" value="./02_procere" />
<property name="TMRPT_JOB_SCRIPT" value="./05_job" />
<!-- 初始化數據 -->
<property name="TMRPT_DATA_SCRIPT" value="./01_data" />
<target name="default" depends="init,resource_tmrpt,init_tmrpt" description="">
</target>
<target name="init">
<tstamp>
<format property="TODAY" pattern="yyyyMMdd" locale="cn" />
</tstamp>
<delete file="${FILE_NAME_RESOURCE}"></delete>
<delete file="${FILE_NAME_INIT}"></delete>
</target>
<!-- resource_tmrpt Script -->
<target name="resource_tmrpt">
<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">
<fileset dir="${TMRPT_TABLE_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">
<fileset dir="${TMRPT_SEQUENCE_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">
<fileset dir="${TMRPT_FUNCTION_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">
<fileset dir="${TMRPT_PROCEDURE_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
<concat destfile="${FILE_NAME_RESOURCE}" append="true" fixlastline="true">
<fileset dir="${TMRPT_JOB_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
</target>
<!-- init_tmrpt Script -->
<target name="init_tmrpt">
<concat destfile="${FILE_NAME_INIT}" append="true" fixlastline="true">
<fileset dir="${TMRPT_DATA_SCRIPT}" casesensitive="false">
<include name="*.SQL" />
</fileset>
</concat>
</target>
</project>
這個就是某些後綴的文件在固定目錄裡面生成到同一個腳本裡面,我這個是生成到resource_tmrpt.sql和init_tmrpt.sql
⑺ ant 編譯忽略某個java類
以前了解過一點
<!--fileset可以設定一組文件集來進行操作,dir指明文件集要進行選擇的路徑,
通過id可以指定這個文件的名稱,在使用的時候進行直接的引入
include和exclude可以設定包含返回和排除范圍**/*.*所有目錄中的所有文件
-->
<fileset id="src.path" dir="src">
<include name="**/*.*"/>
<!--<exclude name="**/*.java"/>-->
</fileset>
⑻ 怎麼裝濾鏡和ant格式的文件
把已經下載完的濾鏡-剪切-
然後到Photo
Shop
圖標上點右鍵然後再點擊-查找目標-在Photo
Shop
文件夾里單擊-預置-然後把下載完的濾鏡粘貼到文件夾里的濾鏡里就OK了!!!!
你照這個方法去試試!!
⑼ ant腳本文件的時候,如何忽略空文件
可以通過includeEmptyDirs:用於指定是否復制空目錄文件。默認為true。
< todir="${basedir}/new" includeEmptyDirs="false">
<fileset dir="${basedir}/old" >
<include name="appgen" />
<include name="appgen/" />
<include name=appgen/**" />
<include name="appgen/***" />
</fileset>
</>
通過這個屬性,只要是空路徑的文件都不會被復制。