Get and Display File Size in a Readable Version using Commons IO


This example shows how to get the size of a file and display it in a readable way.
The Apache Commons library has a class called FileUtils which has a static method called byteCountToDisplaySize().
It takes a long datatype as argument and returns a string. We get the actual size in bytes by using the java.io.File class and calling its method length() which returns the number of bytes.
However, that is not very readable and to use in a user interface we'd have to convert it somehow, had we not been able to use the FileUtils class.
In the example we print both the raw byte count and the readable version to console:


package com.javadb.examples;

import org.apache.commons.io.FileUtils;

import java.io.File;

/**
 *
 * @author www.javadb.com
 */

public class Main {

    public static void main(String[] args) {

        File file = new File("pic.jpg");
        long size = file.length();
        String sizeDesc = FileUtils.byteCountToDisplaySize(size);

        System.out.println(size);
        System.out.println(sizeDesc);
    }
}

This is what the output looked like when the above code was run:

53771
52 KB



See also: Get File Size in Core Java

Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark and Share




Need help with your Java code? It's secure and confidential.
This is how it works:
Send a detailed description of what you need help with, the more details the better. Also provide a deadline for when it has to be finished. More time means better chance of putting your request into the schedule.

If the request is serious you will shortly receive an email with the price, to which you have to respond if you accept.

Once you have accepted, the work will begin on developing your code by an experienced Java developer. When the code is finished a link to a secure payment will be sent to you.

The source code is then sent to you once the payment is completed.

IMPORTANT! The request needs to be very detailed, else it may be ignored.


Write your detailed request here:

E-mail address: