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