DirEntry Class

class QDirListing::DirEntry

パブリック関数

QString absoluteFilePath() const
QString absolutePath() const
QString baseName() const
QDateTime birthTime(const QTimeZone &tz) const
QString bundleName() const
QString canonicalFilePath() const
QString completeBaseName() const
QString completeSuffix() const
bool exists() const
QFileInfo fileInfo() const
QString fileName() const
QString filePath() const
QDateTime fileTime(QFileDevice::FileTime type, const QTimeZone &tz) const
bool isDir() const
bool isExecutable() const
bool isFile() const
bool isHidden() const
bool isReadable() const
bool isSymLink() const
bool isWritable() const
QDateTime lastModified(const QTimeZone &tz) const
QDateTime lastRead(const QTimeZone &tz) const
QDateTime metadataChangeTime(const QTimeZone &tz) const
qint64 size() const
QString suffix() const

詳細説明

有効なQDirListing::const_iterator を再参照すると、DirEntry オブジェクトが返されます。

DirEntry は、QFileInfo の API のサブセット (たとえば、fileName()、filePath()、exists()) を提供します。内部的には、DirEntry は、必要な場合、つまり他のシステム関数によって情報がまだ取得されていない場合にのみ、QFileInfo オブジェクトを構築します。QFileInfo を取得するにはDirEntry::fileInfo() を使用します:

using ItFlag = QDirListing::IteratorFlag;
for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
    // Faster
    if (dirEntry.fileName().endsWith(u".conf")) { /* ... */ }

    // This works, but might be potentially slower, since it has to construct a
    // QFileInfo, whereas (depending on the implementation) the fileName could
    // be known already
    if (dirEntry.fileInfo().fileName().endsWith(u".conf")) { /* ... */ }
}
using ItFlag = QDirListing::IteratorFlag;
for (const auto &dirEntry : QDirListing(u"/etc"_s, ItFlag::Recursive)) {
    // Both approaches are the same, because DirEntry will have to construct
    // a QFileInfo to get this info (for example, by calling system stat())

    if (dirEntry.size() >= 4'000 /* 4KB */) { /* ...*/ }
    if (dirEntry.fileInfo().size() >= 4'000 /* 4KB */) { /* ... */ }
}

メンバー関数ドキュメント

QDateTime DirEntry::birthTime(const QTimeZone &tz) const

QDateTime DirEntry::fileTime(QFileDevice::FileTime type, const QTimeZone &tz) const

QDateTime DirEntry::lastModified(const QTimeZone &tz) const

QDateTime DirEntry::lastRead(const QTimeZone &tz) const

QDateTime DirEntry::metadataChangeTime(const QTimeZone &tz) const

QFileInfo DirEntry::fileInfo() const

QString DirEntry::absoluteFilePath() const

QString DirEntry::absolutePath() const

QString DirEntry::baseName() const

QString DirEntry::bundleName() const

QString DirEntry::canonicalFilePath() const

QString DirEntry::completeBaseName() const

QString DirEntry::completeSuffix() const

QString DirEntry::fileName() const

QString DirEntry::filePath() const

QString DirEntry::suffix() const

bool DirEntry::exists() const

bool DirEntry::isDir() const

bool DirEntry::isExecutable() const

bool DirEntry::isFile() const

bool DirEntry::isHidden() const

bool DirEntry::isReadable() const

bool DirEntry::isWritable() const

qint64 DirEntry::size() const

同名のQFileInfo メソッドを参照。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.