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 メソッドを参照してください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。