Search code examples
javafileurlfilesize

How to get the size of a file in MB (Megabytes)?


I have a zip file on a server.

How can I check if the file size is larger than 27 MB?

File file = new File("U:\intranet_root\intranet\R1112B2.zip");
if (file > 27) {
   //do something
}

Solution

  • Use the length() method of the File class to return the size of the file in bytes.

    // Get file from file name
    File file = new File("U:\intranet_root\intranet\R1112B2.zip");
    
    // Get length of file in bytes
    long fileSizeInBytes = file.length();
    // Convert the bytes to Kilobytes (1 KB = 1024 Bytes)
    long fileSizeInKB = fileSizeInBytes / 1024;
    // Convert the KB to MegaBytes (1 MB = 1024 KBytes)
    long fileSizeInMB = fileSizeInKB / 1024;
    
    if (fileSizeInMB > 27) {
      ...
    }
    

    You could combine the conversion into one step, but I've tried to fully illustrate the process.