Java如何实现获取文件大小呢?
下文笔者讲述获取文件大小的方法及示例分享,如下所示
使用File.length()方法测试文件大小 或使用Java NIO库获取文件大小例:
File.length()方法
Java中最简单的获取文件大小的方法就是使用File类中的length()方法
File file = new File("D:\\test\\test.txt");
System.out.println("文件大小为:" + file.length() + "字节");
该方法返回的是文件的长度,单位为字节
注意事项:
当文件不存在或
文件大小超过了2GB,此方法就会返回负数
使用Apache Commons IO库
Apache Commons IO
提供很多有用的方法
其中一个就是获取文件大小的方法
例
File file = new File("D:\\test\\test.txt");
long fileSize = FileUtils.sizeOf(file);
System.out.println("文件大小为:" + fileSize + "字节");
注意事项:
该方法也会返回负数
如果文件不存在也会抛出异常。
Java NIO库
Java NIO库
提供获取文件大小的方法
与Apache Commons IO类似
例
Path path = Paths.get("D:\\test\\test.txt");
long fileSize = Files.size(path);
System.out.println("文件大小为:" + fileSize + "字节");
文件夹大小的获取方法
获取文件夹大小的方法
我们需依次获取单个文件的大小,然后相加得到文件之和
例
public static long getFolderSize(File folder) {
long size = 0;
for (File file : folder.listFiles()) {
if (file.isFile()) {
size += file.length();
} else {
size += getFolderSize(file);
}
}
return size;
}
// 示例
File folder = new File("C:\\example");
long folderSize = getFolderSize(folder);
System.out.println("文件夹大小为:" + folderSize + "字节");
注意事项:
超过2G,将显示负数
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


