Size of file on the Internet using Java

To get the size of file from server first you need to connect to the server using URL and HttpURLConnection Class. To get the size of file we use getContentLength() method. As the size of file can be too large we use BigInteger class. You cannot use integer datatype as it can generate an error in case the size of file is greater than 2Gb.
To know more about BigInteger class refer link: BigInteger class in Java
For HttpURLConnection refer link: Class in Java






// Java Program to calculate Size
// of a file on the Internet.
import java.math.BigInteger;
public class SizeFile {
    public static void main(String args[]) throws Exception
        BigInteger size = new BigInteger("1");
        // get the url of web page
        URL url = new URL(
        // create a connection
        HttpURLConnection conn;
            // open stream to get size of page
            conn = (HttpURLConnection)url.openConnection();
            // set request method.
            // get the input stream of process
            // store size of file
            size = BigInteger.valueOf(conn.getContentLength());
            // print the size of downloaded file
            System.out.println("The Size of file is:" +
                                       size + " bytes");
        catch (Exception e)
            System.out.println("Connection failed");


Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :


Please write to us at to report any issue with the above content.