计算一个目录或者文件大小 示例代码如下:
unsigned int calculate_size(QString path)
{
QFileInfo info(path);
unsigned int ret = 0;
if( info.isFile() ) // 是文件获取文件的大小
{
ret = info.size();
}
else 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 += calculate_size(list[i].absoluteFilePath());//递归计算
}
}
}
return ret;
}