Qt下获取当前目录size

    最近在项目当中需要实现转存软件媒体目录功能,在实现此功能时,需要判断所选取的盘是否拥有足够空间大小来存储目标目录,因此就需要对比目标目录size和所选盘符剩余空间。在此记录我用于获取目标目录size的功能。

    实现比较简单,首选我们获取到目标文件夹时,通过递归的方式获取到目标文件夹下所有的文件和目录,针对里面的文件进行计算其size,总和即目标目录的size。

unsigned int SettingView::CurrentFolderSize(QString path)
{
    QFileInfo info(path);
    unsigned int ret = 0;  //存放文件size

    if( info.isFile() ) // 是文件获取文件的大小
    {
        ret = info.size();
    }

    if(info.isDir()) //是文件夹
    {
        QDir dir(path);
        QFileInfoList list = dir.entryInfoList(); //获取该目录下所有文件和目录

        for(int i=0; i<list.count(); i++)
        {
            if( (list[i].fileName() != ".") && (list[i].fileName() != "..") )  // 排除.和..目录
            {
                //qDebug() << list[i].fileName();
                ret += CurrentFolderSize(list[i].absoluteFilePath());//递归计算
            }
        }
    }

    return ret;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值