当前位置: 首页 > article >正文

QT 磁盘文件 教程04-创建目录、删除目录、遍历目录

【1】新建目录

bool CreateDir(QString name){
   QString fileName = name ;
   QDir dir(fileName);
   if (dir.isEmpty()) {
        dir.mkdir(fileName);
        return true;
   }else{
        qDebug()<<"文件夹已存在";
        return false;
   }
}

【2】删除目录

bool DeleteDir(QString fileName){
    if (QFile::exists(fileName)) {
        QDir qDir(fileName);
        qDir.removeRecursively();   
        return true
    }
    return false;
}

【3】遍历目录

QList ListFolder(QString path){
    QDir dir(path);
    //仅显示目录和文件
    dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot|QDir::Files | QDir::NoSymLinks);
    QFileInfoList list = dir.entryInfoList();
    int file_count = list.length();
    QList<QString> list2 ;    
    for(int i=0; i<file_count; i++){
        QFileInfo file_info = list.at(i);
        QString suffix = file_info.suffix();
        QString absolute_file_path = file_info.absoluteFilePath();
        QString file_name = file_info.fileName();
        QString type = "文件";
        if(!file_info.isDir()){            
            long size = file_info.size();
            double file_size = (double)size/1024.0;  //文件大小显示单位:Kb
            QString file_size_res;
            if(file_size<1024.0){
                file_size_res = QString("%1Kb").arg(QString::number(file_size,'f',2));
            }else{
                file_size = file_size/1024.0;        //文件大小显示单位:MB
                file_size_res = QString("%1Mb").arg(QString::number(file_size,'f',2));
            }
            type = QString("%1%2").arg(suffix).arg("文件");
            QString datetime =file_info.lastModified().toLocalTime().toString("yyyy/MM/dd hh:mm:ss");
           
        }else{
            QString type=QString("%1").arg("目录");
            QString datetime=file_info.lastModified().toLocalTime().toString("yyyy/MM/dd hh:mm:ss");           
           
        }
        list2.append(file_name);
        list2.append(type);
        list2.append(file_size_res);
        list2.append(datetime); 
        list2.append(absolute_file_path);        
    }
    return list2;

}


http://www.kler.cn/a/589625.html

相关文章:

  • IntelliJ IDEA 中 Maven 的 `pom.xml` 变灰带横线?一文详解解决方法
  • 微服务即时通信系统---(八)用户管理子服务
  • 2025交易所开发突围:AI增强型撮合引擎与零知识证明跨链架构
  • 有趣的算法实践:整数反转与回文检测(Java实现)
  • java学习总结(六)Spring IOC
  • 基于k3s部署Nginx、MySQL、Golang和Redis的详细教程
  • 一键爬取b站视频
  • lua C语言api学习2 在C语言中使用lua语言
  • 3月17日作业
  • QT中的宏
  • JAVA | 聚焦 String 的常见用法与底层内存原理
  • 无人机吊舱模块更换技术难点分析!
  • UFS Link Startup 介绍
  • 怎么在centos7中搭建一个mqtt服务
  • 设计模式(行为型)-状态模式
  • 【CVPR 2025】局部区域自注意力LASA,用重叠补丁增强区域特征交互,即插即用!
  • 【Mac 从 0 到 1 保姆级配置教程 08】08. 快速配置 Neovim、LazyVim 以及常用开发环境,如果之前有人这么写就好了
  • 【JavaEE】Spring Boot 日志
  • Qt:槽函数与信号
  • 下载 CSS 文件阻塞,会阻塞构建 DOM 树吗?会阻塞页面的显示吗?