File#eachFileRecurse(groovy.lang.Closure closure)を使ってみる

Groovy JDKの一覧ってちょっと前に比べても随分増えたような…。ところでなんでJavaDocみたいな書き方じゃないのかな。どれがどのメソッドの説明かわかりにくいよ。

2週間ほど前に書いた例題3を書き直してみる。これは便利。

import java.io.*

// directory構造を読む 引数がfileではだめ
new File(args[0]).eachFileRecurse { file |
    if (file.isFile()) {
        file.withReader { reader |
            // 読めたら3文字出力
            if ( (line = reader.readLine() ) != null) {
                i = 0
                line.each {if (i++ < 3) print it}
                print "\n" 
            }
        }
    }
}

あとは正規表現をうまく使えればきっと役に立つはず。

もうちょっとGroovy知ってS2GroovyBuilderが使いこなせるようになりたい。