ANT:检查文件是否为空

时间:2016-04-26 09:03:47

标签: javascript 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的情况下检查文件大小的最简单方法是什么?
  • 如何在不打破其余目标的情况下退出当前目标 执行?

1 个答案:

答案 0 :(得分:2)

所以我设法做了我想要的,这是检查文件大小和运行其他东西的基本示例,具体取决于大小。

创建仅运行条件的目标

<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>

那是所有人。