【问题标题】:Reading File from directory and sort using ant从目录中读取文件并使用 ant 排序
【发布时间】:2014-08-06 16:27:32
【问题描述】:

我有一个目录中的文件列表。我必须读取所有文件名并按排序顺序提取文件名。我怎样才能使用 ant 脚本来做到这一点

【问题讨论】:

    标签: ant build-process


    【解决方案1】:

    您没有指定排序标准。许多可用的选项请参阅 ANT 手册中的资源文档

    https://ant.apache.org/manual/Types/resources.html

    示例

    ├── build.xml
    └── src
        ├── data1
        │   ├── file1.txt
        │   ├── file2.txt
        │   └── file3.txt
        ├── data2
        │   ├── file4.txt
        │   └── file5.txt
        └── data3
            └── file6.txt
    

    运行项目会打印根据修改日期以相反顺序排序的文件列表

    build:
         [echo] Files: /../src/data2/file4.txt:/../src/data3/file6.txt:/../src/data2/file5.txt:/../src/data1/file3.txt:/../src/data1/file2.txt:/../src/data1/file1.txt
    

    build.xml

    <project name="demo" default="build">
    
      <target name="build">
        <sort id="src.files">
          <fileset dir="src" />
          <reverse xmlns="antlib:org.apache.tools.ant.types.resources.comparators">
            <date />
          </reverse>
        </sort>
    
        <pathconvert targetos="unix" property="srcFiles" refid="src.files"/>
    
        <echo message="Files: ${srcFiles}"/>
      </target>
    
    </project>
    

    【讨论】:

    • pathconvert 的结果类型是什么?如何使用已排序文件的列表 - 就像在 apply 任务中的 srcfile
    • “pathconvert”旨在创建路径字符串。如果您希望将反向排序的文件列表传递给“应用”任务,则直接使用“srot”资源集合。见:ant.apache.org/manual/Types/resources.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    相关资源
    最近更新 更多