精华内容
下载资源
问答
  • 转载: ... #include #include ... QMessageBox::warning(this,tr("创建文件夹"),tr("文件夹已经存在!")); } else { //创建photo文件夹 photo->mkdir("C:/Users/keen/Desktop/photo"); }  

    转载:https://blog.csdn.net/qq_40388909/article/details/79256464

    #include <QDir>
    #include <QMessageBox>
    
    
    QDir *photo = new QDir;
        bool exist = photo->exists("C:/Users/keen/Desktop/photo");
     
        if(exist)
        {
            QMessageBox::warning(this,tr("创建文件夹"),tr("文件夹已经存在!"));
        } else
        {
            //创建photo文件夹
            photo->mkdir("C:/Users/keen/Desktop/photo");
        }


     

    展开全文
  • // @brief 初始化路径(若存在且有文件,则确认是否清空) ... // 建立文件夹(若不存在则建立,若存在询问用户是否清空) QString reportPath = QCoreApplication::applicationDirPath() + "/DataReport/" + p

    以下代码主要有以下功能:

    • 判断文件夹是否存在dir.exists()
    • 判断文件夹是否为空dir.entryInfoList()
    • 清空文件夹dir.removeRecursively()
    • 生成新文件夹 dir.mkpath()
    // @brief 初始化路径(若存在且有文件,则确认是否清空)
    // return true 成功 false 失败
    bool MainWindow::initReportPath()
    {
        QString pathName = QStringLiteral("项目一路径");
    	// 建立文件夹(若不存在则建立,若存在询问用户是否清空)
    	QString reportPath = QCoreApplication::applicationDirPath() + "/DataReport/" + pathName + "/";
    	
    	QDir dir;
    	bool res;
    	if (!dir.exists(reportPath))
    	{
    		res = dir.mkpath(reportPath);
    	}
    	else
    	{
    		// 已存在,判断文件夹是否为空,如果不是则提示用户是否清空
    		dir.setPath(reportPath);
    		dir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
    		QFileInfoList list = dir.entryInfoList();
    
    		if (list.count() <= 0)
    		{
    			qDebug() << "文件夹为空";
    			res = true;
    		}
    		else
    		{
    			qDebug() << "文件夹不为空";
    			QMessageBox::StandardButton reply;
    			reply = QMessageBox::question(this, "提示", "目录已经存在,是否清空文件夹", QMessageBox::Yes | QMessageBox::No);
    
    			if (reply == QMessageBox::Yes)
    			{
    				dir.setPath(reportPath);
    				dir.removeRecursively();
    				res = dir.mkpath(reportPath);
    			}
    			else
    			{
    				QMessageBox::information(NULL, "提示", "请重新设置报告保存路径");
    				res = false;
    			}
    		}
    	}
    
    	if (res)
    	{
    		QMessageBox::information(this, "提示", "本次报告路径设置完成");
    		// 设置全局路径名称
            reportPathStr = reportPath;
    	}
    	
    	return res;
    }
    
    展开全文
  • // 获取用户输入 bool ok = false; QString userInputPath = QInputDialog::getText(this, "提示", "请输入文件夹名", QLineEdit::Normal, "", &... // 建立文件夹(若不存在,若存在则清空) .
    	// 获取用户输入
    	bool ok = false;
    	QString userInputPath = QInputDialog::getText(this, "提示", "请输入文件夹名", QLineEdit::Normal, "", &ok);
    	if (ok && !userInputPath.isEmpty())
    		qDebug() << "text = " << userInputPath;
    
    	// 建立文件夹(若不存在,若存在则清空)
    	QString reportPath = QCoreApplication::applicationDirPath() + userInputPath;
    	mainWindowUi.lineEdit_thisReportPath->setText(reportPath);
    	mainWindowUi.lineEdit_thisReportPath->setReadOnly(true);
    
    	QDir dir;
    	if (!dir.exists(reportPath))
    	{
    		bool res = dir.mkpath(reportPath);
    		qDebug() << "新建目录是否成功" << res;
    	}
    	else
    	{
    		qDebug() << "文件夹已存在";
    
    	}
    
    展开全文
  • 1. 判断文件夹是不是存在 参数说明: QString fullPath;//文件夹全路径 /方法1/ bool isDirExist(QString fullPath) {     QDir dir(fullPath);     if(dir.exists())     {   &...

    1. 判断文件夹是不是存在

    参数说明:

    QString fullPath;//文件夹全路径

    /方法1/

    bool isDirExist(QString fullPath)

    {

        QDir dir(fullPath);

        if(dir.exists())

        {

          return true;

        }

        return false;

    }

    /方法2/

    bool isDirExist(QString fullPath)

    {

        QFileInfo fileInfo(fullPath);

        if(fileInfo.isDir())

        {

          return true;

        }

        return false;

    }

    2. 判断文件是不是存在

    参数说明:

    QString fullFileName;//文件全路径(包含文件名)

    /方法1/

    bool isFileExist(QString fullFileName)

    {

        QFileInfo fileInfo(fileFullName);

        if(fileInfo.isFile())

        {

            return true;

        }

        return false;

    }

    3、判断文件或文件夹是不是存在(即不确定字符串是文件还是文件夹路径)

    参数说明:

    QString fullFilePath;//路径名

    /方法1/

    bool isFileExist(QString fullFilePath)

    {

        QFileInfo fileInfo(fullFilePath);

        if(fileInfo.exists())

        {

            return true;

        }

        return false;

    }

    /方法2/

    bool isFileExist(QString fullFilePath)

    {

        QFile file(fullFilePath);

        if(file.exists())

        {

            return true;

        }

        return false;

    }

    4、判断文件夹是否存在,不存在则创建

    /方法1/

    bool isDirExist(QString fullPath)

    {

        QDir dir(fullPath);

        if(dir.exists())

        {

          return true;

        }

        else

        {

           bool ok = dir.mkdir(fullPath);//只创建一级子目录,即必须保证上级目录存在

           return ok;

        }

    }

    /方法1/

    bool isDirExist(QString fullPath)

    {

        QDir dir(fullPath);

        if(dir.exists())

        {

          return true;

        }

        else

        {

           bool ok = dir.mkpath(fullPath);//创建多级目录

           return ok;

        }

    }

    5、以下为摘录的其他网络测试代码

    {

        QFileInfo fi(“C:/123”);                     // 目录存在

        qDebug() << fi.isFile();                    // false

        qDebug() << fi.isDir();                     // true

        qDebug() << fi.exists();                    // true

        qDebug() << fi.isRoot();                    // false

        qDebug() << QFile::exists(“C:/123”);        // true

        qDebug() << QDir(“C:/123”).exists();        // true


        fi.setFile(“C:/ABC”);                       // 目录不存在

        qDebug() << fi.isFile();                    // false

        qDebug() << fi.isDir();                     // false

        qDebug() << fi.exists();                    // false

        qDebug() << fi.isRoot();                    // false

        qDebug() << QFile::exists(“C:/ABC”);        // false

        qDebug() << QDir(“C:/ABC”).exists();        // false


        fi.setFile(“C:/”);                          // 存在的驱动器

        qDebug() << fi.isFile();                    // false

        qDebug() << fi.isDir();                     // true

        qDebug() << fi.exists();                    // true

        qDebug() << fi.isRoot();                    // true

        qDebug() << QFile::exists(“C:/”);           // true

        qDebug() << QDir(“C:/”).exists();           // true


        fi.setFile(“Z:/”);                          // 不存在的驱动器

        qDebug() << fi.isFile();                    // false

        qDebug() << fi.isDir();                     // false

        qDebug() << fi.exists();                    // false

        qDebug() << fi.isRoot();                    // false

        qDebug() << QFile::exists(“Z:/”);           // false

        qDebug() << QDir(“Z:/”).exists();           // false


        fi.setFile(“C:/123.lnk”);                   // 快捷方式存在且指向的文件也存在

        qDebug() << fi.isFile();                    // true

        qDebug() << fi.isDir();                     // false

        qDebug() << fi.exists();                    // true

        qDebug() << fi.isRoot();                    // false

        qDebug() << QFile::exists(“C:/123.lnk”);    // true

        qDebug() << QDir(“C:/123.lnk”).exists();    // false


        fi.setFile(“C:/456.lnk”);                   // 快捷方式存在但指向的文件不存在

        qDebug() << fi.isFile();                    // false

        qDebug() << fi.isDir();                     // false

        qDebug() << fi.exists();                    // false

        qDebug() << fi.isRoot();                    // false

        qDebug() << QFile::exists(“C:/456.lnk”);    // false

        qDebug() << QDir(“C:/456.lnk”).exists();    // false

    }

    可以看到,容易让人感到混乱的是exists方法,这个方法是通用的判断方法,可以看成是这样的表达式

    exists() == (isFile() || isDir()) 


    也就是说判断文件或文件夹是否存在单纯用exists方法是不严谨的

    比如你的本意是判断文件是否存在,但文件不存在,而恰巧有个同名的文件夹,那么exists也会返回true。文件夹也是同理


    根据上面的代码作出的一点总结


    准确判断文件是否存在

    1.用QFileInfo::isFile()方法 


    准确判断文件夹是否存在

    1.用QFileInfo::isDir()方法

    2.用QDir::exists()方法 


    不确定字符串是文件还是文件夹路径

    1.用QFileInfo::exists()方法

    2.用QFile::exists()方法

    展开全文
  • 1. 判断文件夹是否存在 参数说明:QString fullPath;//文件夹全路径 /*方法1*/ bool isDirExist(QString fullPath) { QDir dir(fullPath); if(dir.exists()) { return true; } return false; } /*方法2*/ ...
  • QT判断文件或文件夹是否存在

    千次阅读 2018-11-11 20:04:20
    转自:... 判断文件夹是不是存在 bool isDirExist(QString filename,QString path = “”);//声明 bool MainWindow::isDirExist(QString filename, QStri...
  • 一直对Qt的isFile、isDir、exists这几个方法感到混乱,不知道到底用哪个,网上搜了下资料,也是用这几个方法 但是都没有对其深究,经过测试发现会存在问题,先看看下面的测试代码 { QFileInfo fi("C:/123"); // ...
  • 一直对Qt的isFile、isDir、exists这几个方法感到混乱,不知道到底用哪个,网上搜了下资料,也是用这几个方法但是都没有对其深究,经过测试发现会存在问题,先看看下面的测试代码[cpp] view plain copy{ QFileInfo...
  • 1. 判断文件夹是不是存在 参数说明: QString fullPath;//文件夹全路径 /*方法1*/ bool isDirExist(QString fullPath) {  QDir dir(fullPath);  if(dir.exists())  {  return true;  }  return ...
  • 比如要新建这么个文件夹 F://学习资料/考研数学模拟卷 ... // 检查目录是否存在,若不存在则新建 QDir dir; if (!dir.exists(dir_str)) { bool res = dir.mkpath(dir_str); qDebug() 新建目录是
  • QFileInfofi("C:/123");//目录存在 qDebug()<<fi.isFile();//false qDebug()<<fi.isDir();//true qDebug()...
  • 准确判断文件夹是否存在 1.用QFileInfo::isDir()方法 2.用QDir::exists()方法 不确定字符串是文件还是文件夹路径 1.用QFileInfo::exists()方法 2.用QFile::exists()方法 喜欢的可以扫码关注松鼠哥的公众号----嵌入式...
  • 判断文件夹,是否存在,不存在则创建 void MainWindow::on_pushButton_2_clicked() { QDir *temp = new QDir; bool exist = temp->exists(“D://temp”); if(exist) QMessageBox::warning(this,tr(...
  • Qt判断文件夹/目录是否存在 Qt判断文件夹/目录是否存在,可以使用QDir类的exists方法来判断,在使用时需要包含头文件#include ,例如下面的代码: #include <QCoreApplication> #include <QDir> #...
  • QT判断目录是否存在

    2021-04-23 15:53:06
    QFileInfo、QFileInfoList基本用法
  • 在绝对路径中循环新建若干文件夹:(QT5.6.1+win10) QFileInfo l_info("./file0305.exe"); QString l_str = l_info.absolutePath();//绝对路径:D:\QT\QT5.6.1\Projects\file0305\build-file0305-Desktop_Qt_5_6_...
  • fullFileName可以是文件或者文件夹 bool Util::isFileExist(QString fullFileName) { QFileInfo fileInfo(fullFileName); if(fileInfo.isFile()) { return true; } return false; }
  • 代码如下: QFile file("c:\\snapshot.jpg"); if (file.exists()) { file.remove(); } 引用: #include
  • ```cpp QString runPth = QDir...dir.exists())//判断文件夹是否存在,不存在创建文件夹 { dir.mkdir(runPth); } runPth += "/xxxx.xml";//创建的文件夹下,创建文件,一定要是全路径 QFile file(runPth); file.o

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,617
精华内容 1,046
关键字:

qt判断文件夹是否存在