StringBuffer in groovy

Remember that when one is using a StringBuffer , one needs to close() it or your program will exit with a half written file. I use this more often than not when writing large files for performance reasons.

Advertisements

Groovy Script to rename all TXT files in a directory



#!/usr/bin/env groovy
// Script to rename files that end in .txt replacing the XX to YY in the name

dirName = "/tmp"
new File(dirName).eachFile() { file ->
if ( file.getName() =~ /.txt/ ) {
def newName = (file.getName()).replaceFirst("XX", "YY")
File f = new File(dirName + "/" + newName)
file.renameTo(f)
println file.getName() + " -> " + f.getName()
} else {
print "Skipping file " << file.getName() << "\n"
}
}