【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; //文件大小显示单位:KbQString 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; //文件大小显示单位:MBfile_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;}