Saturday, 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


Duplicate Finder said...

I think while it will be convenient it will bring a lot of performance issues.
I personally use a standalone free tool for this task:[i] [/i][url=http://www.mindgems.com/products/Folder-Size/Folder-Size.html]Folder Size[/url]
Works quite well and even lists folders like system volume information that is not available in Windows Explorer using ADMIN account.
[i] [img]http://www.mindgems.com/products/Folder-Size/images/screenshots/FolderSize.png[/img][/i]

Post a Comment