添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Github源码下载地址:https://github.com/jbyyy/searchLocalFile

1.查找当前路径下的文件

QStringList MainWindow::findFile(QString path)
    // 获取所有文件夹名
    QDir dir(path);
    path = dir.fromNativeSeparators(path);//  "\\"转为"/"
    QStringList allFile = QStringList("");
    dir.setFilter(QDir::Files);
    dir.setSorting(QDir::Name);
    allFile = dir.entryList();
    return  allFile;

1.1调用方法

//查找当前路径下的文件
void MainWindow::on_pushButton_findFile_clicked()
    QString FileFolder = QFileDialog::getExistingDirectory( this, "choose Directory",  "/");
    if(!FileFolder.isEmpty())
        QStringList files = findFile(FileFolder);
        for(int i=0; i<files.size(); i++)
            ui->textEdit->append(QString("文件名:%1").arg(files.at(i)));

2.查找当前路径下的子目录

QStringList MainWindow::findFolder(QString folder)
    // 获取所有文件夹名
    QDir dir(folder);
    folder = dir.fromNativeSeparators(folder);//  "\\"转为"/"
    QStringList allFolder = QStringList("");
    dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
    dir.setSorting(QDir::Name);
    allFolder = dir.entryList();
    return  allFolder;

2.1调用方法

//查找当前路径下的子目录
void MainWindow::on_pushButton_fileDir_clicked()
    QString FileFolder = QFileDialog::getExistingDirectory( this, "choose Directory",  "/");
    if(!FileFolder.isEmpty())
        QStringList folders = findFolder(FileFolder);
        for(int i=0; i<folders.size(); i++)
            ui->textEdit->append(QString("子目录:%1").arg(folders.at(i)));

3.递归查找当前路径下所有文件

void MainWindow::findAllFiles(QString folder)
    //添加当前路径下所有的文件
    QStringList Files =findFile(folder);
    for(int i=0; i<Files.size(); i++)
        FolderPath.append(QPair<QString,QString>(folder,Files.at(i)));
    // 获取所有文件夹名
    QStringList Folder = findFolder(folder);        //根目录下的子文件夹
    //遍历子文件夹 获取里面的文件和文件夹
    for (int i = 0; i < Folder.size(); ++i)
        findAllFiles(folder+"/"+Folder[i]);

3.1调用方法

//递归查找当前路径下所有文件
void MainWindow::on_pushButton_findAllFiles_clicked()
    FolderPath.clear();
    QString FileFolder = QFileDialog::getExistingDirectory( this, "choose Directory",  "/");
    if(!FileFolder.isEmpty())
        findAllFiles(FileFolder);
    for(int i=0; i<FolderPath.size(); i++)
        ui->textEdit->append(QString("文件名:%1\n文件路径:%2\n").arg(FolderPath.at(i).second).arg(FolderPath.at(i).first));
                                    然后,使用不同的接口获取了该文件的各种属性和信息,并进行输出。最后,通过遍历文件信息列表,我们输出了每个文件和目录的名称。上述代码将遍历目录 “C:/MyFiles” 下的所有文件,输出每个文件的名称、大小和最后修改时间等信息。例如,如果你想获取目录下的所有文件和目录信息(包括子目录),可以使用。请注意,在实际应用中,你可能需要先判断目录是否存在,以及对可能出现的异常情况进行适当的处理。在使用这些接口时,需要注意文件是否存在,避免在文件不存在的情况下调用这些接口可能导致的异常。,表示要获取文件信息的目录。
                                    平时经常需要qt实现文件读取,每次都是直接百度需求,这里整理下用过的文件相关操作
平时主要参考这两位博客,有需求直接搜索,只要他们写过,问题一定很好解决(
https://blog.csdn.net/feiyangqingyun
https://me.csdn.net/u011012932
一去二三里
得到文件下所有文件和其路径
bool FindFile(const QString ...
                                    在UML类图中,常见的有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
获取指定文件夹下的所有文件(*.tiff   *.tif):
	mFolderPath = QFileDialog::getExistingDirectory(NULL, "Open Folder", "F:\\FocusImgs\\imgs\\a1");
	if (mFolderPath.isEmpty()) re...
                                    你需要将`/path/to/directory`替换为你要获取内容的目录路径。请注意,使用`entryList()`函数时,可以通过传递不同的参数来过滤所需的内容。// 获取目录中的子目录。// 获取目录中的文件。在Qt中,你可以使用QDir类来获取目录内容。
                                    上述代码中,setFilter()函数可以设置过滤条件,只获取文件文件夹,并且排除.和..两个特殊目录。最后,entryList()函数返回获取到的所有文件(包括子文件夹中的文件)的列表。然后,使用entryInfoList()函数获取所有文件信息的列表,遍历列表,将文件夹名称添加到一个新列表中。这个时候,可以使用QDir类的entryList()函数获取所有文件名,然后遍历文件名列表,将文件夹名称添加到一个新列表中即可。其中,folder_path为文件夹路径,files为获取到的所有文件名的列表。
	QDir dir(strDirpath);
	QFileInfoList Info_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
	QListIterat...
#include <QDebug>  //作为打印程序运行结果使用
QStringList Server_TCP::Tcp_Server_Get_Photo_Dir(QString file_path){
    file_path = ".//photo";
    QDir dir(file_path);