- Qt 6.8
- Qt Core
- C++ Classes
- DirEntry
- Qt 6.8.3 Reference Documentation

# DirEntry Class

class QDirListing::DirEntry

- List of all members, including inherited members
- DirEntry is part of Input/Output and Networking.

## Public Functions

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

## Detailed Description

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. For example:

     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 */) { /* ... */ }
     }

## Member Function Documentation

### 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::isSymLink() const

### bool DirEntry::isWritable() const

### qint64 DirEntry::size() const

See the QFileInfo methods with the same names.