1、QT中有一个叫QDir的类,这个类是针对目录进行操作相关的,通过查阅QT的帮助文档就可以看到该类和它支持的接口
2、下面通过QDir来实现判断目录是否为空的功能,主要是使用它里面的entryInfoList函数
3、点击entryInfoList,展开这个函数的详细解释,这个函数会返回目录所有的文件和子目录QFileI荏鱿胫协nfoList QDir::entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort)返回一个QFileInfoList 的文件列表结构
4、接下来用代码简单实现判断QDir dir("F:\\123test"); do { if (!dir.exists()) { break; } 艘早祓胂 dir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot); QFileInfoList list = dir.entryInfoList(); int file_count = list.count(); if (file_count <= 0) { break; } QStringList string_list; for (int i = 0; i < list.count(); i++) { QFileInfo file_info = list.at(i); qDebug("name %s!", file_info.fileName()); } } while (0);
5、接下来运行程序,在文件数量的位置下个断点,看看是否可以检查到文件数量,由下图可以看到获取的文件数是正确的
6、接下来把目录里的文件全删除,重新运行程序,看看能否判断为空,由下图可以看到获取的数量是0,所以可以通过这种方法来判断目录是否为空