Qt5之QFileInfo類的用法

在Qt中爲文件的操作和信息獲取提供了許多方便的類,常用的有QDir,QFile,QFileInfo以及QFileDialog,在本文中主要介紹用於獲取關於文件信息的QFileInfo類。

QFileInfo可以提供文件的名稱和位置信息,此外,還有文件的大小,文件的訪問權限以及此文件是不是一個符號鏈接等信息。不僅如此,我們還可以通過這個類來查看文件的創建時間,修改時間和最近一次讀取時間。

下面的程序用於獲取文件的時間信息:

void MainWindow::on_browserBtn_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this,
                                                    tr("打開文件"),
                                                    ".",
                                                    tr("All Files(*.*)"));
    if (!fileName.isEmpty())
    {
        ui->pathEdit->setText(fileName);
        QString infoList;

        QFile file(fileName);
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        {
            infoList += tr("Can not open file: %1 \n").arg(fileName);
        }
        else
        {
            infoList += tr("Open file: %1 Successfully\n").arg(fileName);
            QTextStream in(&file);
            while (!in.atEnd()) {
                QString line = in.readLine();
                infoList += line;
            }
            infoList += "\n";
            file.close();
        }

        QFileInfo info(fileName);
        if (info.exists())
        {

            infoList += tr("文件名稱: %1 \n").arg(info.fileName());
            infoList += tr("文件大小: %1 Bytes\n").arg(info.size());
            infoList += tr("創建時間: %1 \n").arg(info.created().toString("yyyy-MM-dd hh:mm:ss"));
            infoList += tr("修改時間: %1 \n").arg(info.lastModified().toString("yyyy-MM-dd hh:mm:ss"));
            infoList += tr("讀取時間: %1 \n").arg(info.lastRead().toString("yyyy-MM-dd hh:mm:ss"));

            ui->infoLabel->setText(infoList);
        }
    }
}

運行此程序,結果如下圖所示:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章