Qt判断文件夹/目录是否存在
Qt判断文件夹/目录是否存在,可以使用QDir类的exists方法来判断,在使用时需要包含头文件#include <QDir>
,例如下面的代码:
#include <QCoreApplication>#include <QDir>#include <QDebug>////// \brief 判断文件夹是否存在,不存在则创建/// \param fullPath/// \return///bool DirExist(QString fullPath){QDir dir(fullPath);if(dir.exists()){//存在当前文件夹return true;}else{//不存在则创建bool ok = dir.mkdir(fullPath); //只创建一级子目录,即必须保证上级目录存在return ok;}}////// \brief 判断文件夹是否存在,不存在则创建, 可创建多级目录/// \param fullPath/// \return///bool DirExistEx(QString fullPath){QDir dir(fullPath);if(dir.exists()){return true;}else{//不存在当前目录,创建,可创建多级目录bool ok = dir.mkpath(fullPath);return ok;}}int main(int argc, char *argv[]){QCoreApplication a(argc, argv);bool isOk = DirExist("D:/1234");qDebug() << isOk;isOk = DirExistEx("D:/1/2/3");qDebug() << isOk;return a.exec();}
DirExist函数,判断文件夹是否存在,不存在则创建DirExistEx函数,判断文件夹是否存在,不存在则创建, 可创建多级目录
二者的区别是创建文件夹调用的方法不同
QDir mkdir :创建一个目录(文件夹/路径)QDir mkpath : 创建多级目录
Qt判断文件是否存在
代码如下:
#include <QCoreApplication>#include <QFile>#include <QDebug>////// \brief 判断文件是否存在,不存在则创建该文件/// \param fullFileName/// \return///bool FileExist(QString fullFileName){QFile file(fullFileName);if(file.exists()){return true;}else{qDebug() << u8"文件不存在, 那就新建该文件";file.open( QIODevice::ReadWrite | QIODevice::Text );//注意关闭文件file.close();}return false;}int main(int argc, char *argv[]){QCoreApplication a(argc, argv);bool isOk = FileExist("D:/1234567.ini"); //Text类型可以创建txt,ini,json,xml等qDebug() << isOk;return a.exec();}
当文件不存在时,调用QFile的open方法也就是相当于创建了一个文件。