天天看點

周遊目錄下所有檔案的小例子

❝周遊目錄下所有檔案并列印出檔案名字,大小,建立日期等資訊。❞
  1. 建立需要周遊目錄的QDir。
QDir fileDir("C:/Users/Strong/Documents");
           

複制

  1. 設定過濾配置,隻比對檔案。
fileDir.setFilter(QDir::Files);
           

複制

  1. 傳回目錄中所有檔案和目錄的QFileInfo對象清單并周遊。
QFileInfoList fileInfoList = fileDir.entryInfoList();
foreach(const QFileInfo &fileInfo, fileInfoList) {
   ...
}
           

複制

完整代碼

#include <QApplication>
#include <QFileInfo>
#include <QDateTime>
#include <QDebug>
#include <QDir>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    /* 建立需要周遊目錄的QDir */
    QDir fileDir("C:/Users/Strong/Documents");

    /* 設定過濾配置,隻比對檔案 */
    fileDir.setFilter(QDir::Files);

    /* 傳回目錄中所有檔案和目錄的QFileInfo對象清單 */
    QFileInfoList fileInfoList = fileDir.entryInfoList();

    foreach(const QFileInfo &fileInfo, fileInfoList) {
        QString fileName   = fileInfo.fileName(); /* 檔案名字 */
        qint64 size        = fileInfo.size(); /* 檔案大小 */
        QDateTime dateTime = fileInfo.fileTime(QFileDevice::FileBirthTime); /* 建立日期 */
        QFile::Permissions permissions = fileInfo.permissions(); /* 權限 */

        qDebug() << fileName << size << dateTime << permissions;
    }

    return a.exec();
}
           

複制