ANT:检查文件是否为空
问题描述:
我试图在处理它之前检查文件是否为空,所有这些都来自我的ANT任务。ANT:检查文件是否为空
基本上我有以下的目标正由另一主要目标调用,我还有其他的目标,这一个称为后,我想运行无论发生什么事,以这一个:
<target name="mytarget">
<!-- Copy a file -->
<get verbose="true" ignoreerrors="no"
src="..."
dest="bla.txt" />
<property name="file.bla" value="bla.txt" />
<!-- Check if the file is empty -->
<script language="javascript"> <![CDATA[
importClass(java.io.File);
file = project.getProperty("file.bla");
var filedesc = new File(file);
var size = filedesc.size;
if (size==0){
//? Exit the target cleanly
}
]]> </script>
<!-- If the file is not empty, process it with ANT. -->
<!-- ... ->
</target>
- 什么是最简单的如何在没有ANT Contrib的情况下检查文件大小?
- 如何退出当前目标而不破坏 执行的其余部分?
答
所以我设法做我想做的,这里是检查文件大小和根据大小运行其他东西的基本示例。
创建一个只运行你的病情
<target name="check.log.file">
<get src="bla/problems.txt" dest="${temp.dir}\bla.txt" />
<property name="file" value="${temp.dir}\bla.txt" />
<condition property="file.is.empty">
<length file="${file}" when="equal" length="0" />
</condition>
<antcall target="target.to.process.the.log.file"/>
</target>
编辑处理目标
而现在的目标,其他目标,这就要看你的条件之一只需添加:
<target name="target.to.process.the.log.file" unless="file.is.empty">
<!-- whatever you do -->
</target>
这就是所有人。
+1
您的解决方案有效。如果你想避开'
+0
很高兴知道,谢谢! – Flag
看看http://stackoverflow.com/questions/312652/how-to-use-size-of-file-inside-ant-target – redoc
谢谢,非常有用,我之前没有找到它: ) – Flag