qt 查询目录下所有文件大小
时间: 2023-07-13 13:30:03 浏览: 203
你可以使用QDir类来遍历目录,并使用QFileInfo类来获取文件大小。下面是一个示例代码:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QDebug>
#include <QFileInfo>
void listDirSize(const QString &path)
{
QDir dir(path);
qint64 totalSize = 0;
// 遍历目录中的所有文件和子目录
foreach (QString entry, dir.entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot)) {
QFileInfo fileInfo(dir, entry);
if (fileInfo.isFile()) {
totalSize += fileInfo.size();
} else if (fileInfo.isDir()) {
totalSize += listDirSize(fileInfo.absoluteFilePath());
}
}
qDebug() << "Directory size:" << totalSize << "bytes";
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString path = "/path/to/directory";
listDirSize(path);
return a.exec();
}
```
这段代码会递归地遍历目录中的所有文件和子目录,并计算它们的大小。最终输出目录的总大小(以字节为单位)。
阅读全文