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

详细描述

Dereferencing a valid QDirListing::const_iterator returns a DirEntry object.

DirEntry offers a subset of QFileInfo 's API (for example, fileName (), filePath (), exists ()). Internally, DirEntry only constructs a QFileInfo object if needed, that is, if the info hasn't been already fetched by other system functions. You can use DirEntry::fileInfo () to get a QFileInfo 。例如:

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 methods with the same names.