使用Gradle复制文件时如何跳过空行? < >我想复制Gradle中的一些文件,结果文件不应该包含任何空行,即空白行不被复制。我假设这可以通过filter(…)完成,也可以通过ant的TokenFilter完成。但是,我不确定语法会是什么样子

使用Gradle复制文件时如何跳过空行? < >我想复制Gradle中的一些文件,结果文件不应该包含任何空行,即空白行不被复制。我假设这可以通过filter(…)完成,也可以通过ant的TokenFilter完成。但是,我不确定语法会是什么样子,filter,copy,gradle,Filter,Copy,Gradle,谢谢。Gradle使用,因为它的实现功能强大。例如,您可以使用Ant过滤器过滤掉任何仅为空或空白的行 适当的regexp可以是[^\n\t\r]+ 您可以直接从Gradle使用Ant,如下所示: task copyTheAntWay { ant.copy(file:'input.txt', tofile:'output.txt', overwrite:true) { filterchain { filterreader(classname:'org.apache.tool

谢谢。

Gradle使用,因为它的实现功能强大。例如,您可以使用Ant过滤器过滤掉任何仅为空或空白的行

适当的regexp可以是[^\n\t\r]+

您可以直接从Gradle使用Ant,如下所示:

task copyTheAntWay {
  ant.copy(file:'input.txt', tofile:'output.txt', overwrite:true) {
    filterchain {
      filterreader(classname:'org.apache.tools.ant.filters.LineContainsRegExp') {
        param(type:'regexp', value:'[^ \n\t\r]+')
      }
    }
  }
}
或使用过滤方法:

task copyGradlefied(type:Copy) {
  def regexp = new org.apache.tools.ant.types.RegularExpression()
  regexp.pattern = '[^ \n\t\r]+'

  from(projectDir) {
    include 'input.txt'
    filter(org.apache.tools.ant.filters.LineContainsRegExp, regexps:[regexp])
  }
  into "outputDir"
}

您是如何知道将regexp作为数组执行的?我对文档的最佳阅读得出结论,参数应该是简单的regexp:“我的regex”。