Java 程序以字节、千字节和兆字节为单位获取给定文件的大小

javaobject oriented programmingprogramming更新于 2024/8/5 18:26:00

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

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

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

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

  • 千兆字节 (GB) = 1,024 MB 和

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

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

文件是信息的集合,可能包含文本信息、图像、音频、视频、程序代码等数据。任何软件应用程序都可以访问它们来执行读取、写入、更新、删除等操作。

语法

创建文件类对象

File file = new File("file_path");

创建 BufferedStramInout 类对象

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 exist.");
}

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 类创建文件对象。

  • 使用 exist() 方法检查文件是否存在,如果文件存在,则使用 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("文件大小(以字节为单位)等于:" + sizebytes);
        System.out.println("文件大小(以千字节为单位)等于:" + (sizebytes/ 1024));
        System.out.println("文件大小(以兆字节为单位)等于:" + (sizebytes / (1024 * 1024)));
      } else {
         System.out.println("File not found.");
      }
   }
}

输出

文件大小(以字节为单位)等于:1048576
文件大小(以千字节为单位)等于:1024
文件大小(以兆字节为单位)等于:1

方法 2:使用 java.nio 包

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

算法

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

  • 使用 size() 方法查找大小并以字节、千字节、兆字节为单位打印大小

  • 如果出现异常,请打印it

示例

在此示例中,我们使用 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("文件大小(以字节为单位)等于:" + sizebytes);
        System.out.println("文件大小(以千字节为单位)等于:" + (sizebytes/ 1024));
        System.out.println("文件大小(以兆字节为单位)等于:" + (sizebytes / (1024 * 1024)));
      } catch (Exception e) {
         System.out.println("Error: " + e.getMessage());
      }
   }
}

输出

文件大小(以字节为单位)等于:1048576
文件大小(以千字节为单位)等于:1024
文件大小(以兆字节为单位)等于:1

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


相关文章