【多线程】查询目标文件夹的大小

该代码示例展示了如何在Java中通过递归方法查询指定文件夹的总大小。首先初始化静态变量`sum`为0,然后创建`File`对象指向目标目录。接着定义一个名为`sum`的递归函数,检查文件是否是目录,如果是则遍历其子文件并递归调用自身,否则将文件大小累加到`sum`。最后在主函数中调用递归方法并打印结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询目标文件夹的大小

主要用到的方法就是递归

我们先定义一个sum,注意一定是static修饰的

  static long sum=0;

然后创建一个file对象,该对象就是你需要查询的目标文件

    File file = new File("D:"+File.separator+"2.2复习");

紧接着我们写查询大小的方法,即一个递归函数

  public static void sum(File file){
    if (file.isDirectory()){
      File[] files = file.listFiles();
      for (File i : files){
        sum(i);
      }
    }
    else {
      sum+=file.length();
    }
  }

注释:
file.isDirectory()判断是否为一个文件夹;
File[] files = file.listFiles() files这个数组里面就是文件夹下的文件;
整个方法就是把文件夹一层一层剥开,知道是一个标准文件时,将标准文件的大小加到sum里面

最后我们在调用这个递归函数,然后打印出我们目标文件的大小

    sum(file);
    System.out.println(sum);

以上就是整个查询的过程,整体代码如下:

public class Test10 {
  static long sum=0;
  public static void main(String[] args) {
    File file = new File("D:"+File.separator+"2.2复习");
    sum(file);
    System.out.println(sum);
  }
  public static void sum(File file){
    if (file.isDirectory()){
      File[] files = file.listFiles();
      for (File i : files){
        sum(i);
      }
    }
    else {
      sum+=file.length();
    }
  }
}

如有疑问,请留言哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值