首页 > Java > java教程 > 正文

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

WBOY
发布: 2023-09-06 10:13:08
转载
1405 人浏览过

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

文件的大小是特定文件在特定存储设备(例如硬盘驱动器)上占用的存储空间量。文件的大小以字节为单位来衡量。在本节中,我们将讨论如何实现一个 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 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 中获取给定文件大小(以字节、千字节和兆字节为单位)的不同方法。

以上是Java程序获取给定文件的大小(以字节、千字节和兆字节为单位)的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板