java统计文件下所有文件大小和文件个数

上篇博客刚记录java读取文件目录返回树形结构,以提供给前端进行渲染展示,这次来记录下统计文件的大小和文件的个数。

package cn.cnic.instdb.utils;

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

/**
 * @author wdd
 * @version 1.0
 * @date 2021/11/29 14:57
 */
public class FileCounter {
    //用于储存找到的每一个文件
    ArrayList<File> fileList;
    //根目录
    File root;

    public Map getFileInfo(String pathName,String fileFilter) {
        Map<String, Object> map = new HashMap<>();
        root = new File(pathName);
        fileList = new ArrayList<>();
        ArrayList arrayList = countFiles(fileFilter);
        map.put("fileCount", arrayList.size());
        map.put("storageNum", lengthFiles());
        return map;
    }

    //递归算法查找文件
    public ArrayList countFiles(String fileFilter) {
        File[] files = root.listFiles();
        int length = files.length;
        for (int i = 0; i < length; i++) {
            if(fileFilter.equals(files[i].getName())){
                continue;
            }
            if (files[i].isDirectory()) {
                root = files[i];
                countFiles(fileFilter);
            } else {
                fileList.add(files[i]);
            }
        }

        return fileList;
    }

    //统计文件个数和总的大小
    public  long lengthFiles() {
        long totalSize = 0;
        for (int i = 0; i < fileList.size(); i++) {
            //返回由此文件的长度,字节为单位
            totalSize += fileList.get(i).length();
        }
        return totalSize;
    }


    public static void main(String[] args) {
        FileCounter counter = new FileCounter();
        Map fileInfo = counter.getFileInfo("D:\\123test","11111.java");
        System.out.println(fileInfo);
    }


}

超级强悍的 Android 手机高清视频播放利器 MX Video Player 迎来了正式版。作为安卓平台上知名度最高的手机播放器 MX Player Pro,无广告,界面非常简洁,同时播放视频解码功能也非常强大。这也是为什么在安卓平台中很多人都喜欢 MX Player Pro 的原因。如果你经常喜欢用手机播放视频,MX Player Pro 是你不错的选择。 安卓超强视频播放器 MX Player Pro 中文版M安卓超强视频播放器 MX Player Pro 中文版 MX Player Pro 是款超强的手机视频播放利器,支持3GP、AVI DIVX、F4V、FLV、MKV、MP4、MPEG、MOV、VOB、WMV、WEBM、XviD 格式。 MX Player Pro 功能特色: a) 硬体解码 – 拥有最新的硬体解码器,更多影片能受益于硬体加速。 b) 多核心解码 – 安卓第一款多核心解码影片播放器,根据在多核心设备上的测试,它比单核心解码效能提高将近70%。 c) 触控缩放手势 – 在萤幕上能轻松地缩放及使用各种手势。 d) 字幕滑动功能 – 当您滑动字幕,影片播放的位置将随字幕文字变化位置同步。 e) 儿童锁 – 让孩童保持专注而不必担心孩子随意拨打电话或接触其他应用程式。 (需要套件) f) ANDROID 4.1 – 完整支援 Android 4.1 Jelly Bean。 *DTS 最大的好处是可以直接播放其他电脑/NAS共享文件。 MX Player Pro 支持字幕格式: – DVD, DVB, SSA/ASS Subtitle tracks. – SubStation Alpha(.ssa/.ass) with full styling. – SAMI(.smi) with ruby tag support. – SubRip(.srt) – MicroDVD(.sub/.txt) – SubViewer2.0(.sub) – MPL2(.mpl/.txt) – PowerDivX(.psb/.txt) – TMPlayer(.txt)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值