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中获取给定文件大小的不同方法,包括以字节、千字节和兆字节为单位。