Home > Java > javaTutorial > body text

Java program to get the size of a given file in bytes, kilobytes and megabytes

WBOY
Release: 2023-09-06 10:13:08
forward
1410 people have browsed it

Java program to get the size of a given file in bytes, kilobytes and megabytes

File size is the amount of storage space that a specific file takes up on a specific storage device, such as a hard drive. The size of a file is measured in bytes. In this section, we will discuss how to implement a java program to get the size of a given file in bytes, kilobytes and megabytes.

Bytes are the smallest unit of digital information. One byte equals eight bits.

  • 1 Kilobyte (KB) = 1,024 bytes

  • 1 Megabyte (MB) = 1,024 KB

  • Gigabyte (GB) = 1,024 MB and

  • 1 terabyte (TB) = 1,024 GB.

The size of the file usually depends on the type of file and the amount of data it contains. Taking a text document as an example, the file size may be only a few kilobytes, while a high-resolution image or video file may be several gigabytes in size.

A file is a collection of information, which may contain text information, images, audio, video, program code and other data. Any software application can access them to perform operations such as reading, writing, updating, deleting, etc.

grammar

Create file object

File file = new File("file_path");
Copy after login

Create BufferedStramInout class object

BufferedInputStream input = new BufferedInputStream(new FileInputStream("filename"));
Copy after login

length() - This method returns the size of the file in bytes.

File file = new File("/example.txt");
long fileSize = file.length();
Copy after login

exists() - This method checks if the file exists and returns a boolean value.

File file = new File("/example.txt");
if (file.exists()) {
  System.out.println("File exists.");
}
Copy after login

read() - This method is used to read bytes from the input stream.

FileInputStream input = new FileInputStream(filePath)
byte[] buffer = new byte[10];
int bytesRead = input.read(buffer); 
Copy after login

size() - This method returns the size of the file in bytes.

Path path = Paths.get("/path/to/file");
long fileSize = Files.size(path);
Copy after login

Now, we will implement different java methods to find the size of a given file in bytes, kilobytes and megabytes.

Method 1: Use java.io. combo

In this particular method, we will use the File class of the java.io package and use different built-in functions and get the size of the file.

algorithm

  • Use the File class to create file objects.

  • Use the exists() method to check whether the file exists. If the file exists, use the length() method to find the size of the file.

  • Print size in bytes, kilobytes, megabytes.

  • If the file does not exist, print the file not found.

Example

In this example, we have created a file object using the File class, we will use the exists() function to check whether the file exists and calculate the length of the file if it exists Use the length() function to get the length of the file and store it in the "sizebytes" variable. We will use "sizebytes" to print the size of the file in bytes. For kilobytes, the size is "sizebytes" divided by 1024; for kilobytes, the size is "sizebytes" divided by 1024*1024.

import java.io.File;
public class Main{
   public static void main(String[] args) {
      File f = new File("C:/example.txt");
      if (f.exists()) {
         long sizebytes = f.length();
         System.out.println("File size in bytes is equal to : " + sizebytes);
         System.out.println("File size in kilobytes is equal to : " + (sizebytes/ 1024));
         System.out.println("File size in megabytes is equal to : " + (sizebytes / (1024 * 1024)));
      } else {
         System.out.println("File not found.");
      }
   }
}
Copy after login

Output

File size in bytes is equal to : 1048576 
File size in kilobytes is equal to : 1024
File size in megabytes is equal to : 1	
Copy after login

Method 2: Using the java.nio package

In this particular approach, we will use the Path class of the java.nio package and use different built-in functions and get the size of the file.

algorithm

  • Use the get() method of the Path class to create a path object.

  • Use the size() method to find the size and print the size in bytes, kilobytes, megabytes

  • If an exception occurs, print it

Example

In this example, we have created a file object using the Path class and we will use the size() function to get the size of the file and store it in 'sizebytes' variable. We will use 'sizebytes' to print the size of the file in bytes. For kilobytes, the size is "sizebytes" divided by 1024; for kilobytes, the size is "sizebytes" divided by 1024*1024.

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class Main {
   public static void main(String[] args) {
      Path p = Paths.get("C:/example.txt");
      try {
         long sizebytes = Files.size(p);
         System.out.println("File size in bytes is equal to : " + sizebytes);
         System.out.println("File size in kilobytes is equal to : " + (sizebytes/ 1024));
         System.out.println("File size in megabytes is equal to : " + (sizebytes / (1024 * 1024)));
      } catch (Exception e) {
         System.out.println("Error: " + e.getMessage());
      }
   }
}
Copy after login

Output

File size in bytes is equal to : 1048576 
File size in kilobytes is equal to : 1024
File size in megabytes is equal to : 1
Copy after login

So, in this article, we have discussed the different ways to get the size of a given file in Bytes, Kilobytes and Megabytes in Java.

The above is the detailed content of Java program to get the size of a given file in bytes, kilobytes and megabytes. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template