Dark theme | Light theme

January 26, 2013

Groovy Goodness: Calculating Directory Size

Groovy 2.1 adds the method directorySize() to File objects. If the File object is a directory then the total size of all files is calculated. Notice this method will go recursively through all subdirectories so it might take some time before the method returns. If we invoke the method on a File object that is not a directory an IllegalArgumentException is thrown.

def sampleDir = new File('sample')
def sampleDirSize = sampleDir.directorySize()

println sampleDirSize // Outputs size in bytes, eg. 130615981

Using Groovy from the command-line we can easily get the directory size like this:

$ groovy -e "println new File('.').directorySize()"

Written with Groovy 2.1