栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用递归的方法统计文件和文件夹的数目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用递归的方法统计文件和文件夹的数目

package IO.dir;

import java.io.File;

//使用面向对象:统计文件夹大小
public class DirCount {
    //大小
    private long len;
    //文件夹路径
    private String path;
    //文件的个数
    private int fileSize;
    //文件夹的个数
    private int dirSize;//默认从0开始 包含自身文件夹
    //源
    private File src;
    public DirCount(String path){
        this.path=path;
        this.src=new File(path);
        count(this.src);
    }



    public static void main(String[] args) {
        DirCount dir=new DirCount("D:\src\IO");
        System.out.println(dir.getLen()+"--->"+dir.getFileSize()+"--->"+dir.getDirSize());
        DirCount dir2=new DirCount("D:\src\IO\dir");
        System.out.println(dir2.getLen()+"--->"+dir2.getFileSize()+"--->"+dir2.getDirSize());
    }
    private void count(File src) {
        //如果是文件 获取大小
        if (null != src && src.exists()) {
            if (src.isFile()) {//大小
                len+=src.length();
                this.fileSize++;
            } else {//如果是文件夹 子孙级
                this.dirSize++;
                for(File s:src.listFiles()){
                    count(s);
                }
            }

        }
    }
    public int getFileSize() {
        return fileSize;
    }

    public void setFileSize(int fileSize) {
        this.fileSize = fileSize;
    }

    public int getDirSize() {
        return dirSize;
    }

    public void setDirSize(int dirSize) {
        this.dirSize = dirSize;
    }

    public long getLen() {
        return len;
    }

    public void setLen(long len) {
        this.len = len;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/785962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号