Java 获取给定文件的大小(字节,千字节和兆字节)

Java 获取给定文件的大小(字节,千字节和兆字节)

文件的大小是指特定存储设备(如硬盘)上占用的存储空间量。文件的大小通常以字节为单位进行度量。在本节中,我们将讨论如何实现一个Java程序,以获取给定文件的大小(字节,千字节和兆字节)。

字节是数字信息的最小单元。一个字节等于八个位。

  • 1 千字节(KB)= 1,024 字节

  • 1 兆字节(MB)= 1,024 KB

  • 1 吉字节(GB)= 1,024 MB

  • 1 太字节(TB)= 1,024 GB

文件的大小通常取决于文件的类型和包含的数据量。以文本文档为例,文件的大小可能只有几千字节,而高分辨率图像或视频文件的大小可能为几个吉字节。

文件是包含数据(如文本信息,图像,音频,视频,程序代码等)的信息集合。这些可以被任何软件应用程序访问,以执行读取,写入,更新,删除等操作。

语法

创建文件类对象

File file = new File("file_path");

创建BufferedStreamInput类对象

BufferedInputStream input = new BufferedInputStream(new FileInputStream("filename"));

length() − 该方法返回文件的大小(以字节为单位)。

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

exists() − 该方法检查文件是否存在,并返回布尔值。

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

read() − 此方法用于从输入流中读取字节。

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

size() − 此方法以字节为单位返回文件的大小。

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

现在,我们将实现不同的Java方法来找到给定文件的大小(以字节、千字节和兆字节为单位)。

方法1:使用java.io包

在这个特定的方法中,我们将使用java.io包中的File类,并使用不同的内置函数来获取文件的大小。

步骤

  • 使用File类创建一个文件对象。

  • 使用exists()方法检查文件是否存在,如果文件存在,则使用length()方法找到其大小。

  • 打印以字节、千字节和兆字节为单位的大小。

  • 如果文件不存在,则打印文件未找到。

示例

在这个示例中,我们使用File类创建了一个文件对象,并使用exists()函数检查文件是否存在。如果文件存在,则使用length()函数计算文件长度,并将其存储在变量’sizebytes’中。我们将使用’sizebytes’以字节为单位打印文件的大小。对于千字节,大小为’sizebytes’除以1024;对于兆字节,大小为’sizebytes’除以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.");
      }
   }
}

输出

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

方法2:使用java.nio包

在这种特定方法中,我们将使用java.nio包的Path类,并使用不同的内置函数来获取文件的大小。

步骤

  • 使用Path类的get()方法创建一个路径对象。

  • 使用size()方法找到大小,并以字节,千字节和兆字节打印大小。

  • 如果出现异常,打印异常。

示例

在这个示例中,我们使用Path类创建了一个文件对象,并使用size()函数获取文件的大小,并将其存储在变量’sizebytes’中。我们将使用’sizebytes’以字节为单位打印文件的大小。对于千字节,大小是’sizebytes’除以1024,对于兆字节,大小是’sizebytes’除以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());
      }
   }
}

输出

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

因此,在本文中我们讨论了在Java中获取给定文件大小的不同方法,包括以字节、千字节和兆字节为单位。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程