Qt实现在项目同级文件夹新建保存数据的文件夹,通过按钮新建文件

新建文件夹

需要的头文件

#include <QFile>
#include <QTextStream>
#include <QDir>

通过一个函数来判断是否存在指定的文件夹,如果存在则跳过,否则创建文件夹。

bool Widget::isExists()
{
    QString folderName = "dataFolder"; // 文件夹名称
    QString path = QDir::currentPath() + "/.." + "/" + folderName; // 文件夹路径
    QDir dir;
    if (dir.exists(path)) {
        qDebug() << "Folder already exists:" << folderName;
        return true;
    } else {
        if (dir.mkdir(path)) {
            qDebug() << "Folder created successfully:" << folderName;
            return true;
        } else {
            qWarning() << "Failed to create folder:" << folderName;
        }
    }
    return false;
}

通过按钮来点击生成txt文件,保存在刚刚生成的文件夹下

void Widget::on_pushButton_clicked()
{
    if(isExists()){
        static int fileCount = 0; // 记录文件计数器
        QString fileName = QString("../dataFolder/example%1.txt").arg(fileCount); // 设置文件名
        QFile file(fileName);
        if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
            QTextStream stream(&file);
            for(int i = 0; i < 1200; i++){
                stream << "This is example " << fileCount << "."; // 写入数据
            }
            file.close();
            qDebug() << "File created and data written successfully:" << fileName;
            fileCount++; // 计数器加一,为下一个文件准备名称
        } else {
            qWarning() << "Failed to create or open the file:" << fileName;
        }
    }
}
posted @   liutao_111  阅读(164)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
点击右上角即可分享
微信分享提示