Sorting groovy按字母顺序排序

Sorting groovy按字母顺序排序,sorting,groovy,Sorting,Groovy,我正在更新一个groovy脚本,它在SoapUI中构建了一个测试运行程序套件。脚本扫描文件夹并为每个文件夹中的每个文件添加测试用例 我试图解决的问题是,脚本使用的是eachFileMatch(),这在Windows和Unix文件系统之间没有一致的行为。我需要更新脚本,以便按字母顺序列出文件 我是groovy的新手,所以我不知道从哪里开始。虽然确实存在sort()方法,但我不确定是否可以在每个文件匹配中使用它 下面是我需要修改的代码片段: new File(projectPathTest+"/no

我正在更新一个groovy脚本,它在SoapUI中构建了一个测试运行程序套件。脚本扫描文件夹并为每个文件夹中的每个文件添加测试用例

我试图解决的问题是,脚本使用的是
eachFileMatch()
,这在Windows和Unix文件系统之间没有一致的行为。我需要更新脚本,以便按字母顺序列出文件

我是groovy的新手,所以我不知道从哪里开始。虽然确实存在sort()方法,但我不确定是否可以在每个文件匹配中使用它

下面是我需要修改的代码片段:

new File(projectPathTest+"/nord").eachDir{dir->
  log.info("Dir > "+dir);
  operation = dir.name
  def wsdlTestCase = testSuite.addNewTestCase( operation )
  wsdlTestCase.setFailOnError(false)
  dir.eachFileMatch(~/.*_request\.xml/){file->
    // Need Alphabetically sorting here
    log.info("File >> "+file)
    addTestStep(operation, file, wsdlTestCase, projectPath, endPoint)       
  }
任何一个这样做的起点都将是groovy方法,因为现在我没有时间深入研究groovy API

问候
}

您可以在
树状集合中收集文件,该树状集合将保持其排序顺序,然后在集合上迭代以显示或以其他方式对您的文件集合进行操作

TreeSet<File> files = new TreeSet<File>()

dir.eachFileMatch(~/.*_request\.xml/){file->
    files << file
}

files.each { f->
    // log or do whatever with the files in order
}
TreeSet files=newtreeset()
dir.eachFileMatch(~/.\u request\.xml/){file->
文件夹
//按顺序记录或处理文件
}
如果需要对所有文件进行排序,则需要将
TreeSet
放在
eachDir
闭包之外