递归实现文件的大小计算
Posted ljyhyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归实现文件的大小计算相关的知识,希望对你有一定的参考价值。
import java.io.File; public class demo2 { /** * 获取文件的大小 * 1T = 1024G * 1G = 1024M * 1M = 1024K * 1K = 1024B */ public static void main(String[] args) { //首先获取要计算的文件的路径,这里用了绝对路径 File file = new File("C:\\Users\\1\\Desktop\\java项目"); long num = fileNum(file); //fileNum方法计算出来的文件是以b为单位,所以除以1024进行转换 System.out.println("该文件的总大小为:"+num/1024/1024+"M"); } //获取文件大小,递归函数 public static long fileNum(File file){ //定义一个接受文件的变量 long number = 0; //把该路径下一级的文件存放下来 File[] files = file.listFiles(); //isFile()方法是判断file是否是一个文件,如果是就返回该文件的大小 if (file.isFile()) { return file.length(); } //判断该文件是否为空,不为空进行遍历 if (file != null) { //快速遍历的方法遍历file集合 for (File file2 : files) { number += fileNum(file2); } } //最后返回文件的总大小 return number; } }
以上是关于递归实现文件的大小计算的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript - 代码片段,Snippets,Gist
R语言使用fs包的dir_info函数查看文件夹下所有目录的大小递归地计算所有目录的实际大小(多少M多少GTabulate and display folder size)
R语言使用fs包的dir_info函数查看文件夹下所有目录的大小递归地计算所有目录的实际大小(多少M多少GTabulate and display folder size)