[代码片段]Java获取某目录下文件总大小

Android  Java  代码片段  2021年5月21日 pm12:47发布4年前 (2021)更新 城堡大人
95 0 0

前言

代码功能:获取某目录下文件总大小

项目中不仅需要判断磁盘大小,还需要限制拷贝目录大小。

正文

思路:递归目录下的所有文件,累加文件大小。

当然,这种递归方式不是很好,因为存在目录层级复杂和文件多,导致耗时。

    /**
     *
     * @param file
     * @return
     */
    public static double getDirSize(File file) {
        if (null != file && file.exists()) {
            if (file.isDirectory()) {
                File[] files = file.listFiles();
                double length = 0;
                for (File f : files) {
                    length += getDirSize(f);
                }
                return length;
            } else {
                return (double) file.length();
            }
        } else {
            return 0.0;
        }
    }

参考文章

  1. Java获得某目录下文件总大小
  2. Android获取文件夹及文件大小

 历史上的今天

  1. 2023: Android Socket之服务端封装(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

ThreadPoolExecutor简单记录

前言线程经常用,线程池也用,但在于如何使用,没有记录一下。本文参考别人文章整理。正文使用线程池的好处降低内存资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。提高响应速度。在线程池中的线程都是已经被创建好的,我们的任务直接获取一个空闲的线程就能够被执行了提高线程的可管...

严歌苓:读书是生命的另一种存在

一、我关于阅读与写作的记忆我出生在一个书香家庭,父亲虽是作家,但他很少用自己的文学理念影响我。在我的生活学习中,父亲就是一个很客观的教师,是我一生中最好的文学伴侣,最好的交流文学的朋友。父亲常与我沟通他最近读的好书,也会建议我去读。每天早上不管多忙,我都要拿出一小时与父亲喝咖啡,然后谈一谈我最近...

Vim的退出和保存命令

前言简单记录Vim的退出和保存命令正文在命令模式下操作(ESC后的模式):q(Quit) 退出没有修改的文件。如果文件被修改,没有保存,这个命令无效:q!强制退出,切不保存修改过的内容:w(write)保存文件,但不退出当前界面😡保存文件和退出当前界面:w...

圆形顺时针滚动ImageView

前言记录一下项目中用的圆形顺时针滚动的自定义ImageView,当然也可以顺时针滚动。主要是代码片段。正文记录于此,方便自己查阅。隐藏内容!付费阅读后才能查看!¥2 ¥3多个隐藏块只需支付一次付费阅读参考文章

三毛:胆小鬼

这件事情,说起来是十分平淡的。也问过好几个朋友,问他们有没有同样的经验,多半答说有的,而结果却都相当辉煌,大半没有捱打也没有被责备。我要说的是——偷钱。当然,不敢在家外面做这样的事情,大半是翻父母的皮包或口袋,拿了一张钞票。朋友们在少年的时候,偷了钱大半请班上同学吃东西,快快花光,回去再受罚。...

[摘]Java反射的方法反射的基本操作

这篇文字命名不太友好,但解释还是不错的。本文摘抄于《Java反射之——方法反射的基本操作》package com.imooc.reflect;import java.lang.reflect.Method;public class MethodDemo1 { public st...