QDir是文件目录操作类,可对文件目录进行任意操作,在Qt里,目录分隔符号为“/”。
简单的目录操作,详情请参照qt帮助文档
#include <QCoreApplication>
#include <QDebug>
#include <QDir>
#include <QFileInfo>
void test_dir()
{
const char* PATH = "H:/QDir";
QDir dir;
if( !dir.exists(PATH) ) //判断电脑里是否这个目录
{
dir.mkdir(PATH); //创建问价目录
}
if( dir.exists(PATH) )
{
dir.cd(PATH);
QStringList list = dir.entryList();
for( int i = 0; i < list.length(); i++ ) //打印目录文件
{
qDebug() << list[i];
}
}
}
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.length(); i++ )
{
if(list[i].fileName() !="." && list[i].fileName() != "..")
{
ret = ret + calculate_size(list[i].absoluteFilePath());
}
}
}
return ret;
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
test_dir();
qDebug() << calculate_size("H:/QDir");
return a.exec();
}
//文章参考狄泰软件学院Qt视频教程