groovy单词计数每个文件并返回boolen

时间:2017-09-20 06:42:11

标签: file groovy

我有点筹码。我尝试按ENDBEGIN等文件计数。如果我在fille中发现其中一个返回true,则返回false。如果BEGIN工作正常,则首先输入Word,但它不会返回boolen。如果END没有工作,请单独下班。为什么?任何建议将不胜感激。

import groovy.io.FileType

def splitStatements() {

    def wordCount_END = 0
    def wordCount_BEGIN = 0
    def dir = new File("C:\\Groovy\\Files")

    dir.eachFileRecurse (FileType.FILES) { file ->
   Scanner s = new Scanner(file) 
   while (s.hasNext()) {
       if (s.next().equals('BEGIN')){ 
           wordCount_BEGIN++
       }else if (s.next().equals('END')){
           wordCount_END++                              
       }

        if (wordCount_END == 0 && wordCount_BEGIN == 0){
            //how return "false"

        }else if (wordCount_END != 0 && wordCount_BEGIN != 0){
            //how return "true"

        }             
    }
        println wordCount_END
        println wordCount_BEGIN                           
    }                         
} 

1 个答案:

答案 0 :(得分:1)

  1. "true"是一个字符串,true是布尔
  2. dir.eachFileRecurse (FileType.FILES) { file -> return "true" }将从eachFileRecurse anf的当前周期退出,而不是从方法splitStatements退出
  3. 您的算法有问题。如果你想算BEGIN&文件中END个单词,为什么你在找到第一个之后尝试返回?