Auf dieser Seite

QFileInfo Class

Die Klasse „QFileInfo“ bietet eine betriebssystemunabhängige API zum Abrufen von Informationen über Dateisystem-Einträge. Mehr...

Header: #include <QFileInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Vergleiche mit QFileInfo

KategorieVergleichbare Typen
GleichheitQFileInfo

Öffentliche Funktionen

QFileInfo()
QFileInfo(const QFileDevice &file)
QFileInfo(const QString &path)
(since 6.0) QFileInfo(const std::filesystem::path &file)
QFileInfo(const QDir &dir, const QString &path)
(since 6.0) QFileInfo(const QDir &dir, const std::filesystem::path &path)
QFileInfo(const QFileInfo &fileinfo)
(since 6.12) QFileInfo(QFileInfo &&other)
~QFileInfo()
QDir absoluteDir() const
QString absoluteFilePath() const
QString absolutePath() const
QString baseName() const
QDateTime birthTime() const
(since 6.6) QDateTime birthTime(const QTimeZone &tz) const
QString bundleName() const
bool caching() const
QString canonicalFilePath() const
QString canonicalPath() const
QString completeBaseName() const
QString completeSuffix() const
QDir dir() const
bool exists() const
QString fileName() const
QString filePath() const
QDateTime fileTime(QFileDevice::FileTime time) const
(since 6.6) QDateTime fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const
(since 6.0) std::filesystem::path filesystemAbsoluteFilePath() const
(since 6.0) std::filesystem::path filesystemAbsolutePath() const
(since 6.0) std::filesystem::path filesystemCanonicalFilePath() const
(since 6.0) std::filesystem::path filesystemCanonicalPath() const
(since 6.0) std::filesystem::path filesystemFilePath() const
(since 6.2) std::filesystem::path filesystemJunctionTarget() const
(since 6.0) std::filesystem::path filesystemPath() const
(since 6.6) std::filesystem::path filesystemReadSymLink() const
(since 6.0) std::filesystem::path filesystemSymLinkTarget() const
QString group() const
uint groupId() const
bool isAbsolute() const
(since 6.4) bool isAlias() const
bool isBundle() const
bool isDir() const
bool isExecutable() const
bool isFile() const
bool isHidden() const
bool isJunction() const
bool isNativePath() const
(since 6.10) bool isOther() const
bool isReadable() const
bool isRelative() const
bool isRoot() const
bool isShortcut() const
bool isSymLink() const
bool isSymbolicLink() const
bool isWritable() const
(since 6.2) QString junctionTarget() const
QDateTime lastModified() const
(since 6.6) QDateTime lastModified(const QTimeZone &tz) const
QDateTime lastRead() const
(since 6.6) QDateTime lastRead(const QTimeZone &tz) const
bool makeAbsolute()
QDateTime metadataChangeTime() const
(since 6.6) QDateTime metadataChangeTime(const QTimeZone &tz) const
QString owner() const
uint ownerId() const
QString path() const
bool permission(QFileDevice::Permissions permissions) const
QFileDevice::Permissions permissions() const
(since 6.6) QString readSymLink() const
void refresh()
void setCaching(bool enable)
void setFile(const QString &path)
(since 6.0) void setFile(const std::filesystem::path &path)
void setFile(const QFileDevice &file)
void setFile(const QDir &dir, const QString &path)
qint64 size() const
(since 6.0) void stat()
QString suffix() const
void swap(QFileInfo &other)
QString symLinkTarget() const
QFileInfo &operator=(QFileInfo &&other)
QFileInfo &operator=(const QFileInfo &fileinfo)

Statische öffentliche Mitglieder

bool exists(const QString &path)
QFileInfoList
bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)
bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)

Makros

Ausführliche Beschreibung

QFileInfo liefert Informationen zu einem Dateisystem-Eintrag, wie beispielsweise dessen Namen, Pfad, Zugriffsrechte und ob es sich um eine reguläre Datei, ein Verzeichnis oder einen symbolischen Link handelt. Die Größe des Eintrags sowie die Zeitpunkte der letzten Änderung und des letzten Lesezugriffs sind ebenfalls verfügbar. QFileInfo kann auch verwendet werden, um Informationen über eine Qt-Ressource abzurufen.

Ein QFileInfo kann entweder über einen absoluten oder einen relativen Pfad auf einen Dateisystemeintrag verweisen:

  • Unter Unix beginnen absolute Pfade mit dem Verzeichnistrennzeichen „ '/' “. Unter Windows beginnen absolute Pfade mit einer Laufwerksangabe (zum Beispiel „ D:/ “).
  • Relative Pfade beginnen mit einem Verzeichnisnamen oder einem regulären Dateinamen und geben den Pfad eines Dateisystemeintrags relativ zum aktuellen Arbeitsverzeichnis an.

Ein Beispiel für einen absoluten Pfad ist die Zeichenkette "/tmp/quartz". Ein relativer Pfad könnte beispielsweise so aussehen: "src/fatlib". Mit der Funktion isRelative() können Sie überprüfen, ob ein QFileInfo-Objekt einen relativen oder einen absoluten Pfad verwendet. Mit der Funktion makeAbsolute() können Sie den Pfad eines relativen QFileInfo-Objekts in einen absoluten Pfad umwandeln.

Hinweis: Pfade , die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein „ QResource “ kennzeichnen.

Der Pfad des Dateisystem-Eintrags, auf den das `QFileInfo`-Objekt zugreift, wird im Konstruktor oder später mit ` setFile()` festgelegt. Verwenden Sie ` exists()`, um zu prüfen, ob der Eintrag tatsächlich existiert, und ` size()`, um dessen Größe abzurufen.

Der Typ des Dateisystemeintrags wird mit ` isFile()`, ` isDir()` und ` isSymLink()` ermittelt. Die Funktion ` symLinkTarget()` liefert den absoluten Pfad des Ziels, auf das der Symlink verweist.

Die Pfadelemente des Dateisystem-Eintrags können mit ` path()` und ` fileName()` extrahiert werden. Die Teile von ` fileName()` können mit ` baseName()`, ` suffix()` oder ` completeSuffix()` extrahiert werden. QFileInfo-Objekte, die sich auf von Qt-Klassen erstellte Verzeichnisse beziehen, weisen kein abschließendes Verzeichnistrennzeichen auf '/'. Wenn Sie abschließende Trennzeichen in Ihren eigenen Dateiinfo-Objekten verwenden möchten, fügen Sie einfach eines an den Pfad des Eintrags an, der an die Konstruktoren oder an setFile() übergeben wird.

Informationen zu Datum und Uhrzeit werden von den Funktionen ` birthTime()`, ` fileTime()`, ` lastModified()`, ` lastRead()` und ` metadataChangeTime()` zurückgegeben. Informationen zu Zugriffsrechten können mit den Funktionen ` isReadable()`, ` isWritable()` und ` isExecutable()` abgerufen werden. Informationen zum Eigentümer können mit den Befehlen owner(), ownerId(), group() und groupId() abgerufen werden. Sie können Berechtigungen und Eigentumsverhältnisse auch in einer einzigen Anweisung mit der Funktion permission() überprüfen.

Unter Unix (einschließlich macOS und iOS) geben die Eigenschaftsabfragefunktionen dieser Klasse Eigenschaften wie Zeitangaben und Größe des Ziels zurück, nicht des symbolischen Links, da Unix symbolische Links transparent behandelt. Das Öffnen eines symbolischen Links mit ` QFile ` öffnet effektiv das Ziel des Links. Zum Beispiel:

#ifdef Q_OS_UNIX

QFileInfo info1("/home/bob/bin/untabify");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "/home/bob/bin/untabify"
info1.size();               // returns 56201
info1.symLinkTarget();      // returns "/opt/pretty++/bin/untabify"

QFileInfo info2(info1.symLinkTarget());
info2.isSymLink();          // returns false
info2.absoluteFilePath();   // returns "/opt/pretty++/bin/untabify"
info2.size();               // returns 56201

#endif

Unter Windows werden Verknüpfungen (.lnk -Dateien) derzeit als symbolische Links behandelt. Wie auf Unix-Systemen geben die Eigenschafts-Getter die Größe des Ziels zurück, nicht die der .lnk -Datei selbst. Dieses Verhalten ist veraltet und wird wahrscheinlich in einer zukünftigen Version von Qt entfernt; danach werden .lnk -Dateien als reguläre Dateien behandelt.

#ifdef Q_OS_WIN

QFileInfo info1("C:\\Users\\Bob\\untabify.lnk");
info1.isSymLink();          // returns true
info1.absoluteFilePath();   // returns "C:/Users/Bob/untabify.lnk"
info1.size();               // returns 63942
info1.symLinkTarget();      // returns "C:/Pretty++/untabify"

QFileInfo info2(info1.symLinkTarget());
info2.isSymLink();          // returns false
info2.absoluteFilePath();   // returns "C:/Pretty++/untabify"
info2.size();               // returns 63942

#endif

NTFS-Berechtigungen

Auf NTFS-Dateisystemen ist die Überprüfung von Eigentumsrechten und Berechtigungen aus Leistungsgründen standardmäßig deaktiviert. Um sie zu aktivieren, fügen Sie die folgende Zeile ein:

extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;

Die Berechtigungsprüfung wird dann durch Erhöhen bzw. Verringern des Werts „ qt_ntfs_permission_lookup “ um 1 ein- bzw. ausgeschaltet.

qt_ntfs_permission_lookup++; // turn checking on
qt_ntfs_permission_lookup--; // turn it off again

Hinweis: Da es sich hierbei um eine nicht-atomare globale Variable handelt, ist es nur sicher, ` qt_ntfs_permission_lookup ` zu erhöhen oder zu verringern, bevor andere Threads als der Hauptthread gestartet wurden oder nachdem alle anderen Threads als der Hauptthread beendet wurden.

Hinweis: Ab Qt 6.6 ist die Variable „ qt_ntfs_permission_lookup “ veraltet. Bitte verwenden Sie die folgenden Alternativen.

Die sichere und einfache Methode zur Verwaltung von Berechtigungsprüfungen ist die Verwendung der RAII-Klasse ` QNtfsPermissionCheckGuard`.

void complexFunction()
{
    QNtfsPermissionCheckGuard permissionGuard;  // check is enabled

    // do complex things here that need permission check enabled

}   // as the guard goes out of scope the check is disabled

Wenn Sie eine feinere Steuerung benötigen, können Sie die Berechtigung stattdessen mit den folgenden Funktionen verwalten:

qAreNtfsPermissionChecksEnabled();   // Status prüfen
qEnableNtfsPermissionChecks();       // turn checking on
qDisableNtfsPermissionChecks();      // turn it off again

Überlegungen zur Leistung

Einige Funktionen von QFileInfo müssen das Dateisystem abfragen, doch aus Leistungsgründen arbeiten manche Funktionen ausschließlich mit der Pfadzeichenfolge. Beispiel: Um den absoluten Pfad eines relativen Eintrags zurückzugeben, muss ` absolutePath()` das Dateisystem abfragen. Die Funktion ` path()` kann hingegen direkt mit dem Dateinamen arbeiten und ist daher schneller.

QFileInfo speichert außerdem Informationen über den Dateisystemeintrag, auf den es verweist, im Cache. Da das Dateisystem von anderen Benutzern oder Programmen oder sogar von anderen Teilen desselben Programms geändert werden kann, gibt es eine Funktion, die die in QFileInfo gespeicherten Informationen aktualisiert, nämlich ` refresh()`. Um das Caching eines `QFileInfo` zu deaktivieren (d. h. zu erzwingen, dass es bei jeder Abfrage von Informationen das zugrunde liegende Dateisystem befragt), rufen Sie ` setCaching(false)` auf.

Das Abrufen von Informationen aus dem Dateisystem erfolgt in der Regel durch den Aufruf (möglicherweise) ressourcenintensiver Systemfunktionen, sodass QFileInfo (je nach Implementierung) möglicherweise nicht alle Informationen bereits bei der Erstellung aus dem Dateisystem abruft. Um sicherzustellen, dass alle Informationen sofort aus dem Dateisystem gelesen werden, verwenden Sie die Memberfunktion stat().

birthTime(), ` fileTime()`, ` lastModified()`, ` lastRead()` und ` metadataChangeTime()` geben standardmäßig Zeiten in lokaler Zeit zurück. Da native Dateisystem-APIs in der Regel UTC verwenden, ist hierfür eine Umrechnung erforderlich. Wenn Sie die lokale Zeit nicht tatsächlich benötigen, können Sie dies vermeiden, indem Sie die Zeit direkt in ` QTimeZone::UTC ` abfragen.

Plattformspezifische Probleme

Unter Android gelten beim Umgang mit Content-URIs einige Einschränkungen:

Siehe auch QDir und QFile.

Dokumentation zu den Member-Funktionen

QFileInfo::QFileInfo()

Erstellt ein leeres QFileInfo-Objekt, das auf keinen Dateisystemeintrag verweist.

Siehe auch ` setFile()`.

[explicit] QFileInfo::QFileInfo(const QFileDevice &file)

Erstellt ein neues QFileInfo-Objekt, das Informationen zur Datei file liefert.

Wenn der „ file “ einen relativen Pfad hat, hat das QFileInfo ebenfalls einen relativen Pfad.

Siehe auch „ isRelative()“.

[explicit] QFileInfo::QFileInfo(const QString &path)

Erstellt ein `QFileInfo`-Objekt, das Informationen über einen Dateisystemeintrag unter ` path ` liefert, wobei ` ` absolut oder relativ sein kann.

Ist path relativ, verfügt das QFileInfo ebenfalls über einen relativen Pfad.

Siehe auch ` setFile()`, ` isRelative()`, ` QDir::setCurrent()` und ` QDir::isRelativePath()`.

[since 6.0] QFileInfo::QFileInfo(const std::filesystem::path &file)

Erstellt ein neues QFileInfo-Objekt, das Informationen über den angegebenen „ file “ liefert.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch „ setFile()“, „ isRelative()“, „ QDir::setCurrent()“ und „ QDir::isRelativePath()“.

[explicit] QFileInfo::QFileInfo(const QDir &dir, const QString &path)

Erstellt ein neues QFileInfo-Objekt, das Informationen über den angegebenen Dateisystemeintrag path liefert, der relativ zum Verzeichnis dir ist.

Wenn dir einen relativen Pfad hat, hat das QFileInfo ebenfalls einen relativen Pfad.

Ist ` path ` absolut, wird das durch ` dir ` angegebene Verzeichnis ignoriert.

Siehe auch isRelative().

[since 6.0] QFileInfo::QFileInfo(const QDir &dir, const std::filesystem::path &path)

Erstellt ein neues QFileInfo-Objekt, das Informationen über den Dateisystemeintrag unter path liefert, relativ zum Verzeichnis dir.

Wenn dir einen relativen Pfad hat, hat das QFileInfo ebenfalls einen relativen Pfad.

Ist path absolut, wird das durch dir angegebene Verzeichnis ignoriert.

Diese Funktion wurde in Qt 6.0 eingeführt.

QFileInfo::QFileInfo(const QFileInfo &fileinfo)

Erstellt ein neues `QFileInfo`-Objekt, das eine Kopie des angegebenen ` fileinfo` ist.

[constexpr noexcept default, since 6.12] QFileInfo::QFileInfo(QFileInfo &&other)

Erstellt ein neues `QFileInfo`-Objekt aus ` other`.

Hinweis: Das Objekt „ other “, aus dem die Daten verschoben wurden, befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

Diese Funktion wurde in Qt 6.12 eingeführt.

[noexcept] QFileInfo::~QFileInfo()

Löscht den „ QFileInfo “ und gibt dessen Ressourcen frei.

QDir QFileInfo::absoluteDir() const

Gibt ein ` QDir `-Objekt zurück, das den absoluten Pfad des übergeordneten Verzeichnisses des Dateisystemeintrags darstellt, auf den sich diese ` QFileInfo ` bezieht.

// Angenommen, das aktuelle Arbeitsverzeichnis lautet „/home/user/Documents/memos/“
QFileInfo info1(u"relativeFile"_s);
qDebug() << info1.absolutePath(); // "/home/user/Documents/memos/"
qDebug() << info1.baseName(); // "relativeFile"
qDebug() << info1.absoluteDir(); // QDir(u"/home/user/Documents/memos"_s)
qDebug() << info1.absoluteDir().path(); // "/home/user/Documents/memos"

// Ein QFileInfo-Objekt für ein Verzeichnis
QFileInfo info2(u"/home/user/Documents/memos"_s);
qDebug() << info2.absolutePath(); // "/home/user/Documents"
qDebug() << info2.baseName(); // "memos"
qDebug() << info2.absoluteDir(); // QDir(u"/home/user/Documents"_s)
qDebug() << info2.absoluteDir().path(); // "/home/user/Documents"

Siehe auch dir(), filePath(), fileName() und isRelative().

QString QFileInfo::absoluteFilePath() const

Gibt den absoluten vollständigen Pfad zu dem Dateisystemeintrag zurück, auf den sich „ QFileInfo “ bezieht, einschließlich des Namens des Eintrags.

Unter Unix beginnen absolute Pfade mit dem Verzeichnistrennzeichen '/'. Unter Windows beginnen absolute Pfade mit einer Laufwerksangabe (zum Beispiel D:/).

Unter Windows beginnen die Pfade von Netzwerkfreigaben, die keinem Laufwerksbuchstaben zugeordnet sind, mit //sharename/.

QFileInfo wandelt Laufwerksbuchstaben in Großbuchstaben um. Beachten Sie, dass QDir dies nicht tut. Der folgende Codeausschnitt veranschaulicht dies.

    QFileInfo fi("c:/temp/foo");
    qDebug() << fi.absoluteFilePath(); // "C:/temp/foo"

Diese Funktion liefert dasselbe Ergebnis wie ` filePath()`, es sei denn, ` isRelative()` ist wahr. Im Gegensatz zu ` canonicalFilePath()` werden symbolische Links oder überflüssige „.“- oder „..“-Elemente nicht unbedingt entfernt.

Warnung: Ist ` filePath()` leer, ist das Verhalten dieser Funktion undefiniert.

Siehe auch filePath(), canonicalFilePath() und isRelative().

QString QFileInfo::absolutePath() const

Gibt den absoluten Pfad des Dateisystem-Eintrags zurück, auf den sich „ QFileInfo “ bezieht, wobei der Name des Eintrags nicht berücksichtigt wird.

Unter Unix beginnen absolute Pfade mit dem Verzeichnistrennzeichen „ '/' “. Unter Windows beginnen absolute Pfade mit einer Laufwerksangabe (zum Beispiel „ D:/ “).

Unter Windows beginnen die Pfade von Netzwerkfreigaben, die keinem Laufwerksbuchstaben zugeordnet sind, mit //sharename/.

Im Gegensatz zu canonicalPath() werden symbolische Links oder überflüssige „.“- oder „..“-Elemente nicht unbedingt entfernt.

Warnung: Ist filePath() leer, ist das Verhalten dieser Funktion undefiniert.

Siehe auch absoluteFilePath(), path(), canonicalPath(), fileName() und isRelative().

QString QFileInfo::baseName() const

Gibt den Basisnamen der Datei ohne den Pfad zurück.

Der Basisname besteht aus allen Zeichen der Datei bis zum ersten „.“-Zeichen (dieses jedoch nicht mitgerechnet).

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.baseName();  // base = "archive"

Der Basisname einer Datei wird auf allen Plattformen einheitlich berechnet, unabhängig von Dateinamenskonventionen (z. B. hat „.bashrc“ unter Unix einen leeren Basisnamen, und die Endung lautet „bashrc“).

Siehe auch fileName(), suffix(), completeSuffix() und completeBaseName().

QDateTime QFileInfo::birthTime() const

Gibt das Datum und die Uhrzeit der Erstellung (Entstehung) der Datei in Ortszeit zurück.

Wenn der Erstellungszeitpunkt der Datei nicht verfügbar ist, gibt diese Funktion einen ungültigen Wert „ QDateTime “ zurück.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion überlädt QFileInfo::birthTime(const QTimeZone &tz) und liefert dasselbe Ergebnis wie birthTime(QTimeZone::LocalTime).

Siehe auch lastModified(), lastRead(), metadataChangeTime() und fileTime().

[since 6.6] QDateTime QFileInfo::birthTime(const QTimeZone &tz) const

Gibt das Datum und die Uhrzeit zurück, zu der die Datei erstellt (entstanden) wurde.

Die zurückgegebene Zeit liegt in der durch ` tz` angegebenen Zeitzone. Sie können beispielsweise ` QTimeZone::LocalTime ` oder ` QTimeZone::UTC ` verwenden, um die Zeit in der lokalen Zeitzone bzw. in UTC abzurufen. Da die native Dateisystem-API in der Regel UTC verwendet, ist die Verwendung von ` QTimeZone::UTC ` oft schneller, da keine Umrechnungen erforderlich sind.

Wenn der Erstellungszeitpunkt der Datei nicht verfügbar ist, gibt diese Funktion einen ungültigen Wert zurück: ` QDateTime`.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch ` lastModified` (const QTimeZone &), ` lastRead` (const QTimeZone &), ` metadataChangeTime` (const QTimeZone &) und ` fileTime` (QFileDevice::FileTime, const QTimeZone &).

QString QFileInfo::bundleName() const

Gibt den Namen des Bundles zurück.

Unter macOS und iOS wird der korrekte lokalisierte Name eines Bundles zurückgegeben, wenn der Pfad „ isBundle “ () lautet. Auf allen anderen Plattformen wird ein leeres „ QString “ zurückgegeben.

Beispiel:

QFileInfo fi("/Applications/Safari.app");
QString bundle = fi.bundleName();                // name = "Safari"

Siehe auch isBundle(), filePath(), baseName() und suffix().

bool QFileInfo::caching() const

Gibt „ true “ zurück, wenn das Caching aktiviert ist; andernfalls wird „ false “ zurückgegeben.

Siehe auch setCaching() und refresh().

QString QFileInfo::canonicalFilePath() const

Gibt den kanonischen Pfad des Dateisystem-Eintrags zurück, einschließlich des Namens des Eintrags, d. h. einen absoluten Pfad ohne symbolische Links oder überflüssige „ '.' “- oder „ '..' “-Elemente.

Diese Methode gibt eine leere Zeichenkette zurück, wenn der Eintrag nicht existiert, nicht erreichbar ist (beispielsweise hat der aktuelle Benutzer keinen Zugriff auf einen Verzeichnispfad) oder wenn beim Kanonisieren des Pfads ein Fehler auftritt (normalerweise aufgrund hängender symbolischer Links).

Siehe auch filePath(), absoluteFilePath() und dir().

QString QFileInfo::canonicalPath() const

Gibt den kanonischen Pfad des Dateisystem-Eintrags (ohne den Namen des Eintrags) zurück, d. h. einen absoluten Pfad ohne symbolische Links oder überflüssige „.“- oder „..“-Elemente.

Diese Methode gibt eine leere Zeichenkette zurück, wenn der Eintrag nicht existiert, nicht erreichbar ist (z. B. wenn der aktuelle Benutzer keinen Zugriff auf einen Verzeichnispfad hat) oder wenn bei der Kanonisierung des Pfads ein Fehler auftritt (normalerweise aufgrund von hängenden symbolischen Links).

Siehe auch path() und absolutePath().

QString QFileInfo::completeBaseName() const

Gibt den vollständigen Basisnamen der Datei ohne den Pfad zurück.

Der vollständige Basisname besteht aus allen Zeichen der Datei bis zum letzten „.“-Zeichen (dieses jedoch nicht mit eingeschlossen).

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.completeBaseName();  // base = "archive.tar"

Siehe auch fileName(), suffix(), completeSuffix() und baseName().

QString QFileInfo::completeSuffix() const

Gibt das vollständige Suffix (die Dateiendung) der Datei zurück.

Die vollständige Dateiendung besteht aus allen Zeichen in der Datei nach dem ersten „.“ (dieses selbst nicht mitgerechnet).

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
QString ext = fi.completeSuffix();  // ext = "tar.gz"

Siehe auch fileName(), suffix(), baseName() und completeBaseName().

QDir QFileInfo::dir() const

Gibt ein ` QDir `-Objekt zurück, das den Pfad des übergeordneten Verzeichnisses des Dateisystemeintrags darstellt, auf den sich dieser ` QFileInfo ` bezieht.

Hinweis: Das zurückgegebene ` QDir ` entspricht immer dem übergeordneten Verzeichnis des Objekts, selbst wenn der ` QFileInfo ` ein Verzeichnis darstellt.

In jedem der folgenden Fälle gibt dir() den „ QDir “ "~/examples/191697" zurück.

    QFileInfo fileInfo1("~/examples/191697/.");
    QFileInfo fileInfo2("~/examples/191697/..");
    QFileInfo fileInfo3("~/examples/191697/main.cpp");

Für jeden der folgenden Fälle gibt dir() die „ QDir “ "." zurück.

    QFileInfo fileInfo4(".");
    QFileInfo fileInfo5("..");
    QFileInfo fileInfo6("main.cpp");

Siehe auch absolutePath(), filePath(), fileName(), isRelative() und absoluteDir().

bool QFileInfo::exists() const

Gibt „ true “ zurück, wenn der Dateisystemeintrag, auf den „ QFileInfo “ verweist, existiert; andernfalls wird „ false “ zurückgegeben.

Hinweis: Ist der Eintrag ein symbolischer Link, der auf ein nicht vorhandenes Ziel verweist, gibt diese Methode „ false “ zurück.

[static] bool QFileInfo::exists(const QString &path)

Gibt „ true “ zurück, wenn der Dateisystemeintrag „ path “ existiert; andernfalls wird „ false “ zurückgegeben.

Hinweis: Wenn „ path “ ein symbolischer Link ist, der auf ein nicht vorhandenes Ziel verweist, gibt diese Methode „ false “ zurück.

Hinweis: Die Verwendung dieser Funktion ist schneller als die Verwendung von QFileInfo(path).exists() für den Dateisystemzugriff.

QString QFileInfo::fileName() const

Gibt den Namen des Dateisystem-Eintrags zurück, auf den dieser ` QFileInfo ` verweist, ohne den Pfad.

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
QString name = fi.fileName();                // name = "archive.tar.gz"

Hinweis: Wenn diesem ` QFileInfo ` ein Pfad übergeben wird, der mit einem Verzeichnistrennzeichen ` '/'` endet, wird der Namensteil des Eintrags als leer betrachtet.

Siehe auch isRelative(), filePath(), baseName() und suffix().

QString QFileInfo::filePath() const

Gibt den Pfad des Dateisystem-Eintrags zurück, auf den diese QFileInfo verweist; der Pfad kann absolut oder relativ sein.

Siehe auch absoluteFilePath(), canonicalFilePath() und isRelative().

QDateTime QFileInfo::fileTime(QFileDevice::FileTime time) const

Gibt den durch ` time` angegebenen Dateizeitstempel zurück.

Kann der Zeitpunkt nicht ermittelt werden, wird ein ungültiges Datums- und Zeitformat zurückgegeben.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion überlädt ` QFileInfo::fileTime(QFileDevice::FileTime, const QTimeZone &)` und liefert dasselbe Ergebnis wie ` fileTime(time, QTimeZone::LocalTime)`.

Siehe auch birthTime(), lastModified(), lastRead() und metadataChangeTime().

[since 6.6] QDateTime QFileInfo::fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const

Gibt die durch time angegebene Dateizeit zurück.

Die zurückgegebene Zeit liegt in der durch ` tz` angegebenen Zeitzone. Sie können beispielsweise ` QTimeZone::LocalTime ` oder ` QTimeZone::UTC ` verwenden, um die Zeit in der lokalen Zeitzone bzw. in UTC zu erhalten. Da die native Dateisystem-API in der Regel UTC verwendet, ist die Verwendung von ` QTimeZone::UTC ` oft schneller, da keine Umrechnungen erforderlich sind.

Kann die Uhrzeit nicht ermittelt werden, wird ein ungültiges Datums- und Zeitformat zurückgegeben.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &) und QDateTime::isValid().

[since 6.0] std::filesystem::path QFileInfo::filesystemAbsoluteFilePath() const

Gibt „ absoluteFilePath()“ als „ std::filesystem::path “ zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` absoluteFilePath()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemAbsolutePath() const

Gibt „ absolutePath()“ als „ std::filesystem::path “ zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` absolutePath()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalFilePath() const

Gibt „ canonicalFilePath()“ als „ std::filesystem::path “ zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` canonicalFilePath()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalPath() const

Gibt „ canonicalPath()“ als „ std::filesystem::path “ zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` canonicalPath()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemFilePath() const

Gibt „ filePath()“ als „ std::filesystem::path “ zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` filePath()`.

[since 6.2] std::filesystem::path QFileInfo::filesystemJunctionTarget() const

Gibt ` junctionTarget()` als ` std::filesystem::path` zurück.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch ` junctionTarget()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemPath() const

Gibt ` path()` als ` std::filesystem::path` zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch path().

Gibt ` readSymLink()` als ` std::filesystem::path` zurück.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch ` readSymLink()`.

[since 6.0] std::filesystem::path QFileInfo::filesystemSymLinkTarget() const

Gibt ` symLinkTarget()` als ` std::filesystem::path` zurück.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` symLinkTarget()`.

QString QFileInfo::group() const

Gibt die Gruppe der Datei zurück. Unter Windows, auf Systemen, auf denen Dateien keine Gruppen haben, oder wenn ein Fehler auftritt, wird eine leere Zeichenkette zurückgegeben.

Diese Funktion kann unter Unix zeitaufwendig sein (in der Größenordnung von Millisekunden).

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Siehe auch groupId(), owner() und ownerId().

uint QFileInfo::groupId() const

Gibt die ID der Gruppe zurück, zu der die Datei gehört.

Unter Windows und auf Systemen, auf denen Dateien keine Gruppen haben, gibt diese Funktion immer (uint) -2 zurück.

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch group(), owner() und ownerId().

bool QFileInfo::isAbsolute() const

Gibt „ true “ zurück, wenn der Pfad des Dateisystemeintrags absolut ist; andernfalls wird „ false “ zurückgegeben (d. h., der Pfad ist relativ).

Hinweis: Pfade , die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie eine „ QResource “ bezeichnen.

Siehe auch isRelative().

[since 6.4] bool QFileInfo::isAlias() const

Gibt „ true “ zurück, wenn dieses Objekt auf einen Alias verweist; andernfalls wird „ false “ zurückgegeben.

Aliase gibt es nur unter macOS. Sie werden wie normale Dateien behandelt, sodass beim Öffnen eines Alias die Datei selbst geöffnet wird. Um die Datei oder das Verzeichnis zu öffnen, auf die bzw. das ein Alias verweist, verwenden Sie ` symLinkTarget()`.

Hinweis: Selbst wenn ein Alias auf eine nicht vorhandene Datei verweist, gibt `isAlias()` „true“ zurück.

Diese Funktion wurde in Qt 6.4 eingeführt.

Siehe auch ` isFile()`, ` isDir()`, ` isSymLink()` und ` symLinkTarget()`.

bool QFileInfo::isBundle() const

Gibt „ true “ zurück, wenn dieses Objekt unter macOS und iOS auf ein Bundle oder einen symbolischen Link zu einem Bundle verweist; andernfalls wird „ false “ zurückgegeben.

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch isDir(), isSymLink() und isFile().

bool QFileInfo::isDir() const

Gibt „ true “ zurück, wenn dieses Objekt auf ein Verzeichnis oder auf einen symbolischen Link zu einem Verzeichnis verweist. Gibt „ false “ zurück, wenn das Objekt auf etwas verweist, das kein Verzeichnis ist (z. B. eine Datei) oder das nicht existiert.

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch isFile(), isSymLink() und isBundle().

bool QFileInfo::isExecutable() const

Gibt „ true “ zurück, wenn der Dateisystemeintrag, auf den „ QFileInfo “ verweist, ausführbar ist; andernfalls wird „ false “ zurückgegeben.

Handelt es sich bei der Datei um einen symbolischen Link, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch isReadable(), isWritable() und permission().

bool QFileInfo::isFile() const

Gibt „ true “ zurück, wenn dieses Objekt auf eine Datei oder einen symbolischen Link zu einer Datei verweist. Gibt „ false “ zurück, wenn das Objekt auf etwas verweist, das keine Datei ist (z. B. ein Verzeichnis) oder nicht existiert.

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch isDir(), isSymLink() und isBundle().

bool QFileInfo::isHidden() const

Gibt ` true ` zurück, wenn der Dateisystemeintrag, auf den ` QFileInfo ` verweist, „versteckt“ ist; andernfalls wird ` false` zurückgegeben.

Hinweis: Diese Funktion gibt unter Unix für die speziellen Einträge „.“ und „..“ den Wert ` true ` zurück, obwohl ` QDir::entryList ` sie wie gezeigt behandelt. Beachten Sie außerdem, dass diese Funktion den Dateinamen überprüft; unter Unix wird daher der Name des symbolischen Links überprüft, falls es sich bei dieser Datei um einen symbolischen Link handelt, und nicht der Name des Ziels.

Unter Windows gibt diese Funktion „ true “ zurück, wenn die Zieldatei (nicht der symbolische Link) versteckt ist.

bool QFileInfo::isJunction() const

Gibt „ true “ zurück, wenn das Objekt auf eine Verknüpfung verweist; andernfalls wird „ false “ zurückgegeben.

Verzweigungen existieren nur im NTFS-Dateisystem von Windows und werden in der Regel mit dem Befehl „ mklink “ erstellt. Sie können als symbolische Links für Verzeichnisse betrachtet werden und können nur für absolute Pfade auf dem lokalen Datenträger erstellt werden.

bool QFileInfo::isNativePath() const

Gibt „ true “ zurück, wenn der Dateipfad direkt mit nativen APIs verwendet werden kann. Gibt „ false “ zurück, wenn die Datei anderweitig von einem virtuellen Dateisystem innerhalb von Qt unterstützt wird, wie beispielsweise dem Qt Resource System.

Hinweis: Bei nativen Pfaden kann je nach Plattform und Eingabeanforderungen der nativen API dennoch eine Konvertierung von Pfadtrennzeichen und Zeichenkodierung erforderlich sein.

Siehe auch QDir::toNativeSeparators(), QFile::encodeName(), filePath(), absoluteFilePath() und canonicalFilePath().

[since 6.10] bool QFileInfo::isOther() const

Gibt „ true “ zurück, wenn sich „ QFileInfo “ auf einen Dateisystemeintrag bezieht, der kein Verzeichnis, keine reguläre Datei und kein symbolischer Link ist. Andernfalls wird „ false “ zurückgegeben.

Bezieht sich dieser ` QFileInfo ` auf einen nicht vorhandenen Eintrag, gibt diese Methode ` false` zurück.

Ist der Eintrag ein „dangling“ symbolischer Link (das Ziel existiert nicht), gibt diese Methode ` false` zurück. Bei einem nicht „dangling“ symbolischen Link gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Unter Unix ist ein spezieller (anderer) Dateisystemeintrag ein FIFO, ein Socket, ein Zeichen- oder ein Blockgerät. Weitere Details finden Sie in der mknod Manpage.

Unter Windows (aus historischen Gründen, siehe Symbolic Links and Shortcuts) gibt diese Methode für „ .lnk “-Dateien „ true “ zurück.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch isDir(), isFile(), isSymLink() und QDirListing::IteratorFlag::ExcludeOther.

bool QFileInfo::isReadable() const

Gibt „ true “ zurück, wenn der Benutzer den Dateisystemeintrag lesen kann, auf den „ QFileInfo “ verweist; andernfalls wird „ false “ zurückgegeben.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Hinweis: Wenn die Überprüfung von ` NTFS permissions ` nicht aktiviert wurde, gibt das Ergebnis unter Windows lediglich an, ob der Eintrag existiert.

Siehe auch isWritable(), isExecutable() und permission().

bool QFileInfo::isRelative() const

Gibt „ true “ zurück, wenn der Pfad des Dateisystemeintrags relativ ist; andernfalls wird „ false “ zurückgegeben (d. h., der Pfad ist absolut).

Unter Unix beginnen absolute Pfade mit dem Verzeichnistrennzeichen „ '/' “. Unter Windows beginnen absolute Pfade mit einer Laufwerksangabe (zum Beispiel „ D:/ “).

Hinweis: Pfade , die mit einem Doppelpunkt (:) beginnen, werden immer als absolut betrachtet, da sie ein „ QResource “ kennzeichnen.

Siehe auch ` isAbsolute()`.

bool QFileInfo::isRoot() const

Gibt „ true “ zurück, wenn das Objekt auf ein Verzeichnis oder einen symbolischen Link zu einem Verzeichnis verweist und dieses Verzeichnis das Stammverzeichnis ist; andernfalls wird „ false “ zurückgegeben.

bool QFileInfo::isShortcut() const

Gibt „ true “ zurück, wenn dieses Objekt auf eine Verknüpfung verweist; andernfalls wird „ false “ zurückgegeben.

Verknüpfungen gibt es nur unter Windows und es handelt sich dabei in der Regel um „ .lnk “-Dateien. So wird beispielsweise für Verknüpfungen (Dateien vom Typ „*.lnk “) unter Windows „true“ zurückgegeben, unter Unix (einschließlich macOS und iOS) hingegen „false“.

Die Verknüpfungsdateien (.lnk) werden wie normale Dateien behandelt. Werden diese geöffnet, wird die eigentliche „ .lnk “-Datei geöffnet. Um die Datei zu öffnen, auf die eine Verknüpfung verweist, muss „ symLinkTarget()“ auf eine Verknüpfung angewendet werden.

Hinweis: Selbst wenn eine Verknüpfung (defekte Verknüpfung) auf eine nicht vorhandene Datei verweist, gibt `isShortcut()` „true“ zurück.

Siehe auch „ isFile()“, „ isDir()“, „ isSymbolicLink()“ und „ symLinkTarget()“.

Gibt „ true “ zurück, wenn dieses Objekt auf einen symbolischen Link, eine Verknüpfung oder einen Alias verweist; andernfalls wird „ false “ zurückgegeben.

Symbolische Links gibt es unter Unix (einschließlich macOS und iOS) sowie unter Windows und werden in der Regel durch die Befehle „ ln -s “ bzw. „ mklink “ erstellt. Das Öffnen eines symbolischen Links bewirkt das Öffnen der Datei „ link's target “.

Darüber hinaus wird für Verknüpfungen (Dateien vom Typ „*.lnk “) unter Windows und für Aliase unter macOS der Wert „true“ zurückgegeben. Dieses Verhalten ist veraltet und wird sich in einer zukünftigen Version von Qt XML wahrscheinlich ändern. Das Öffnen einer Verknüpfung oder eines Alias führt zum Öffnen der Datei „ .lnk “ bzw. der Alias-Datei selbst.

Beispiel:

QFileInfo info(fileName);
if (info.isSymLink())
    fileName = info.symLinkTarget();

Hinweis: ` exists()` gibt ` true ` zurück, wenn der Symlink auf ein vorhandenes Ziel verweist, andernfalls gibt es ` false` zurück.

Siehe auch „ isFile()“, „ isDir()“ und „ symLinkTarget()“.

Gibt „ true “ zurück, wenn dieses Objekt auf einen symbolischen Link verweist; andernfalls wird „ false “ zurückgegeben.

Symbolische Links gibt es unter Unix (einschließlich macOS und iOS) sowie unter Windows (NTFS-Symlink) und werden in der Regel mit den Befehlen „ ln -s “ bzw. „ mklink “ erstellt.

Unix behandelt symbolische Links transparent. Das Öffnen eines symbolischen Links öffnet effektiv die Datei „ link's target “.

Im Gegensatz zu ` isSymLink()` wird für Verknüpfungen (Dateien vom Typ `*.lnk `) unter Windows und für Aliase unter macOS der Wert `false` zurückgegeben. Verwenden Sie stattdessen ` QFileInfo::isShortcut()` und ` QFileInfo::isAlias()`.

Hinweis: „ exists“ () gibt „ true “ zurück, wenn der Symlink auf ein vorhandenes Ziel verweist, andernfalls wird „ false “ zurückgegeben.

Siehe auch isFile(), isDir(), isShortcut() und symLinkTarget().

bool QFileInfo::isWritable() const

Gibt „ true “ zurück, wenn der Benutzer Schreibzugriff auf den Dateisystemeintrag hat, auf den „ QFileInfo “ verweist; andernfalls wird „ false “ zurückgegeben.

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Hinweis: Wenn die Überprüfung auf „ NTFS permissions “ nicht aktiviert wurde, gibt das Ergebnis unter Windows lediglich an, ob der Eintrag als schreibgeschützt markiert ist.

Siehe auch isReadable(), isExecutable() und permission().

[since 6.2] QString QFileInfo::junctionTarget() const

Löst eine NTFS-Verknüpfung in den Pfad auf, auf den sie verweist.

Gibt den absoluten Pfad zu dem Verzeichnis zurück, auf das eine NTFS-Verknüpfung verweist, oder eine leere Zeichenfolge, wenn das Objekt keine NTFS-Verknüpfung ist.

Es gibt keine Garantie dafür, dass das durch die NTFS-Verknüpfung benannte Verzeichnis tatsächlich existiert.

Diese Funktion wurde in Qt 6.2 eingeführt.

Siehe auch isJunction(), isFile(), isDir(), isSymLink(), isSymbolicLink() und isShortcut().

QDateTime QFileInfo::lastModified() const

Gibt das Datum und die Uhrzeit zurück, zu der die Datei zuletzt geändert wurde.

Handelt es sich bei der Datei um einen symbolischen Link, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Diese Funktion überlädt ` QFileInfo::lastModified(const QTimeZone &)` und liefert dasselbe Ergebnis wie ` lastModified(QTimeZone::LocalTime)`.

Siehe auch birthTime(), lastRead(), metadataChangeTime() und fileTime().

[since 6.6] QDateTime QFileInfo::lastModified(const QTimeZone &tz) const

Gibt das Datum und die Uhrzeit zurück, zu denen die Datei zuletzt geändert wurde.

Die zurückgegebene Zeit wird in der durch ` tz` angegebenen Zeitzone ausgegeben. Sie können beispielsweise ` QTimeZone::LocalTime ` oder ` QTimeZone::UTC ` verwenden, um die Zeit in der lokalen Zeitzone bzw. in UTC abzurufen. Da die native Dateisystem-API in der Regel UTC verwendet, ist die Verwendung von ` QTimeZone::UTC ` oft schneller, da keine Umrechnungen erforderlich sind.

Handelt es sich bei der Datei um einen symbolischen Link, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch birthTime(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &) und fileTime(QFileDevice::FileTime, const QTimeZone &).

QDateTime QFileInfo::lastRead() const

Gibt das Datum und die Uhrzeit zurück, zu der die Datei zuletzt gelesen (aufgerufen) wurde.

Auf Plattformen, auf denen diese Informationen nicht verfügbar sind, wird derselbe Zeitpunkt wie bei ` lastModified()` zurückgegeben.

Handelt es sich bei der Datei um einen symbolischen Link, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Diese Funktion überlädt ` QFileInfo::lastRead(const QTimeZone &)` und liefert dasselbe Ergebnis wie ` lastRead(QTimeZone::LocalTime)`.

Siehe auch birthTime(), lastModified(), metadataChangeTime() und fileTime().

[since 6.6] QDateTime QFileInfo::lastRead(const QTimeZone &tz) const

Gibt das Datum und die Uhrzeit zurück, zu der die Datei zuletzt gelesen (aufgerufen) wurde.

Die zurückgegebene Zeit liegt in der durch ` tz` angegebenen Zeitzone. Sie können beispielsweise ` QTimeZone::LocalTime ` oder ` QTimeZone::UTC ` verwenden, um die Zeit in der lokalen Zeitzone bzw. in UTC abzurufen. Da die native Dateisystem-API in der Regel UTC verwendet, ist die Verwendung von ` QTimeZone::UTC ` oft schneller, da keine Umrechnungen erforderlich sind.

Auf Plattformen, auf denen diese Informationen nicht verfügbar sind, gibt die Funktion dieselbe Zeit wie lastModified() zurück.

Wenn es sich bei der Datei um einen Symlink handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch ` birthTime(const QTimeZone &)`, ` lastModified(const QTimeZone &)`, ` metadataChangeTime(const QTimeZone &)` und ` fileTime(QFileDevice::FileTime, const QTimeZone &)`.

bool QFileInfo::makeAbsolute()

Ist der Pfad des Dateisystem-Eintrags relativ, wandelt diese Methode ihn in einen absoluten Pfad um und gibt „ true “ zurück; ist der Pfad bereits absolut, gibt diese Methode „ false “ zurück.

Siehe auch filePath() und isRelative().

QDateTime QFileInfo::metadataChangeTime() const

Gibt das Datum und die Uhrzeit zurück, zu denen die Metadaten der Datei zuletzt geändert wurden (in Ortszeit).

Eine Änderung der Metadaten erfolgt beim erstmaligen Erstellen der Datei, aber auch immer dann, wenn der Benutzer Inode-Informationen schreibt oder festlegt (z. B. beim Ändern der Dateiberechtigungen).

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Diese Funktion überlädt `QFileInfo::metadataChangeTime(const QTimeZone &tz)` und liefert dasselbe Ergebnis wie ` metadataChangeTime(QTimeZone::LocalTime)`.

Siehe auch birthTime(), lastModified(), lastRead() und fileTime().

[since 6.6] QDateTime QFileInfo::metadataChangeTime(const QTimeZone &tz) const

Gibt das Datum und die Uhrzeit zurück, zu denen die Metadaten der Datei zuletzt geändert wurden. Eine Änderung der Metadaten erfolgt beim erstmaligen Erstellen der Datei, aber auch immer dann, wenn der Benutzer Inode-Informationen schreibt oder festlegt (beispielsweise beim Ändern der Dateiberechtigungen).

Die zurückgegebene Zeit wird in der Zeitzone angegeben, die durch ` tz` festgelegt ist. Beispielsweise können Sie ` QTimeZone::LocalTime ` oder ` QTimeZone::UTC ` verwenden, um die Zeit in der lokalen Zeitzone bzw. in UTC abzurufen. Da die native Dateisystem-API in der Regel UTC verwendet, ist die Verwendung von ` QTimeZone::UTC ` oft schneller, da keine Umrechnungen erforderlich sind.

Handelt es sich bei der Datei um einen symbolischen Link, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &) und fileTime(QFileDevice::FileTime time, const QTimeZone &).

QString QFileInfo::owner() const

Gibt den Eigentümer der Datei zurück. Auf Systemen, auf denen Dateien keine Eigentümer haben, oder wenn ein Fehler auftritt, wird eine leere Zeichenkette zurückgegeben.

Diese Funktion kann unter Unix zeitaufwendig sein (in der Größenordnung von Millisekunden). Unter Windows gibt sie eine leere Zeichenkette zurück, sofern die Überprüfung „ NTFS permissions “ nicht aktiviert wurde.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Siehe auch „ ownerId()“, „ group()“ und „ groupId()“.

uint QFileInfo::ownerId() const

Gibt die ID des Eigentümers der Datei zurück.

Unter Windows und auf Systemen, auf denen Dateien keine Eigentümer haben, gibt diese Funktion ((uint) -2) zurück.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Siehe auch owner(), group() und groupId().

QString QFileInfo::path() const

Gibt den Pfad des Dateisystem-Eintrags zurück, auf den sich dieser QFileInfo bezieht, ohne den Namen des Eintrags.

Hinweis: Wenn für diese ` QFileInfo ` ein Pfad angegeben wird, der mit einem Verzeichnistrennzeichen ` '/'` endet, wird der Namensteil des Eintrags als leer betrachtet. In diesem Fall gibt diese Funktion den gesamten Pfad zurück.

Siehe auch filePath(), absolutePath(), canonicalPath(), dir(), fileName() und isRelative().

bool QFileInfo::permission(QFileDevice::Permissions permissions) const

Prüft Dateiberechtigungen. Das Argument „ permissions “ kann aus mehreren Flags vom Typ „QFile::Permissions“ bestehen, die mit dem OR-Operator verknüpft sind, um verschiedene Berechtigungskombinationen zu prüfen.

Auf Systemen, auf denen Dateien keine Berechtigungen haben, gibt diese Funktion immer ` true` zurück.

Hinweis: Das Ergebnis kann unter Windows ungenau sein, wenn die Überprüfung von ` NTFS permissions ` nicht aktiviert wurde.

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
if (fi.permission(QFile::WriteUser | QFile::ReadGroup))
    qWarning("I can change the file; my group can read the file");
if (fi.permission(QFile::WriteGroup | QFile::WriteOther))
    qWarning("The group or others can change the file");

Wenn es sich bei der Datei um einen symbolischen Link handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den symbolischen Link.

Siehe auch isReadable(), isWritable() und isExecutable().

QFileDevice::Permissions QFileInfo::permissions() const

Gibt die vollständige, mit „OR“ verknüpfte Kombination der QFile::Permissions für die Datei zurück.

Hinweis: Das Ergebnis kann unter Windows ungenau sein, wenn die Überprüfung „ NTFS permissions “ nicht aktiviert wurde.

Handelt es sich bei der Datei um einen Symlink, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink selbst.

Liest den Pfad, auf den der symbolische Link verweist.

Gibt den Rohpfad zurück, auf den der symbolische Link verweist, ohne einen relativen Pfad relativ zum Verzeichnis, das den symbolischen Link enthält, aufzulösen. Die zurückgegebene Zeichenkette ist nur dann ein absoluter Pfad, wenn der symbolische Link tatsächlich als solcher darauf verweist. Gibt eine leere Zeichenkette zurück, wenn das Objekt kein symbolischer Link ist.

Diese Funktion wurde in Qt 6.6 eingeführt.

Siehe auch symLinkTarget(), exists(), isSymLink(), isDir() und isFile().

void QFileInfo::refresh()

Aktualisiert die Informationen zu dem Dateisystemeintrag, auf den sich „ QFileInfo “ bezieht, d. h., es werden beim nächsten Abruf einer zwischengespeicherten Eigenschaft Informationen aus dem Dateisystem eingelesen.

void QFileInfo::setCaching(bool enable)

Wenn „ enable “ auf „true“ gesetzt ist, wird das Zwischenspeichern von Dateiinformationen aktiviert. Ist „ enable “ auf „false“ gesetzt, ist das Zwischenspeichern deaktiviert.

Wenn die Zwischenspeicherung aktiviert ist, liest „ QFileInfo “ die Dateiinformationen beim ersten Bedarf aus dem Dateisystem, danach jedoch in der Regel nicht mehr.

Das Caching ist standardmäßig aktiviert.

Siehe auch ` refresh()` und ` caching()`.

void QFileInfo::setFile(const QString &path)

Legt den Pfad des Dateisystem-Eintrags fest, zu dem dieser QFileInfo Informationen bereitstellt, und zwar unter path; dieser Pfad kann absolut oder relativ sein.

Unter Unix beginnen absolute Pfade mit dem Verzeichnistrennzeichen „ '/' “. Unter Windows beginnen absolute Pfade mit einer Laufwerksangabe (zum Beispiel „ D:/ “).

Relative Pfade beginnen mit einem Verzeichnisnamen oder einem regulären Dateinamen und geben den Pfad eines Dateisystemeintrags relativ zum aktuellen Arbeitsverzeichnis an.

Beispiel:

QFileInfo info("/usr/bin/env");

QString path = info.absolutePath(); // path = /usr/bin
QString base = info.baseName(); // base = env

info.setFile("/etc/hosts");

path = info.absolutePath(); // path = /etc
base = info.baseName(); // base = hosts

Siehe auch isFile(), isRelative(), QDir::setCurrent() und QDir::isRelativePath().

[since 6.0] void QFileInfo::setFile(const std::filesystem::path &path)

Legt den Pfad des Dateisystem-Eintrags fest, zu dem diese QFileInfo Informationen bereitstellt, auf path.

Ist „ path “ relativ, hat „ QFileInfo “ ebenfalls einen relativen Pfad.

Diese Funktion wurde in Qt 6.0 eingeführt.

void QFileInfo::setFile(const QFileDevice &file)

Legt die Datei, zu der die „ QFileInfo “ Informationen bereitstellt, auf „ file “ fest.

Wenn „ file “ einen relativen Pfad enthält, hat „ QFileInfo “ ebenfalls einen relativen Pfad.

Dies ist eine überladene Funktion.

Siehe auch isRelative().

void QFileInfo::setFile(const QDir &dir, const QString &path)

Legt den Pfad des Dateisystem-Eintrags fest, zu dem dieser „ QFileInfo “ Informationen bereitstellt, und zwar unter „ path “ im Verzeichnis „ dir “.

Wenn „ dir “ einen relativen Pfad hat, hat „ QFileInfo “ ebenfalls einen relativen Pfad.

Ist path absolut, wird das durch dir angegebene Verzeichnis ignoriert.

Dies ist eine überladene Funktion.

Siehe auch isRelative().

qint64 QFileInfo::size() const

Gibt die Dateigröße in Byte zurück. Wenn die Datei nicht existiert oder nicht abgerufen werden kann, wird 0 zurückgegeben.

Wenn es sich bei der Datei um einen Symlink handelt, gibt diese Funktion Informationen über das Ziel zurück, nicht über den Symlink.

Siehe auch ` exists()`.

[since 6.0] void QFileInfo::stat()

Liest alle Attribute aus dem Dateisystem.

Dies ist nützlich, wenn Informationen über das Dateisystem in einem Worker-Thread gesammelt und anschließend in Form von zwischengespeicherten ` QFileInfo `-Instanzen an die Benutzeroberfläche übergeben werden.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` setCaching()` und ` refresh()`.

QString QFileInfo::suffix() const

Gibt die Dateiendung der Datei zurück.

Die Dateiendung besteht aus allen Zeichen in der Datei nach dem letzten „.“ (dieses selbst ausgenommen).

Beispiel:

QFileInfo fi("/tmp/archive.tar.gz");
QString ext = fi.suffix();  // ext = "gz"

Das Suffix einer Datei wird auf allen Plattformen einheitlich berechnet, unabhängig von Dateinamenskonventionen (z. B. hat „.bashrc“ unter Unix einen leeren Basisnamen, und das Suffix lautet „bashrc“).

Siehe auch fileName(), completeSuffix(), baseName() und completeBaseName().

[noexcept] void QFileInfo::swap(QFileInfo &other)

Tauscht die Informationen dieser Datei mit denen unter other aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QString QFileInfo::symLinkTarget() const

Gibt den absoluten Pfad zu der Datei oder dem Verzeichnis zurück, auf die bzw. das ein symbolischer Link verweist, oder eine leere Zeichenkette, wenn es sich bei dem Objekt nicht um einen symbolischen Link handelt.

Dieser Name muss nicht unbedingt eine existierende Datei bezeichnen; es handelt sich lediglich um eine Zeichenkette.

Hinweis: ` exists()` gibt ` true ` zurück, wenn der symbolische Link auf ein vorhandenes Ziel verweist; andernfalls gibt sie ` false` zurück.

Siehe auch exists(), isSymLink(), isDir() und isFile().

[noexcept] QFileInfo &QFileInfo::operator=(QFileInfo &&other)

Weist „ other “ dieser Instanz von „ QFileInfo “ zu.

Hinweis: Das verschobene Objekt other befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

QFileInfo &QFileInfo::operator=(const QFileInfo &fileinfo)

Erstellt eine Kopie des angegebenen fileinfo und weist sie diesem QFileInfo zu.

Verwandte Nicht-Mitglieder

QFileInfoList

Synonym für „ QList “ <QFileInfo>.

[noexcept] bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)

Gibt „ true “ zurück, wenn „ QFileInfo “ lhs auf einen anderen Dateisystemeintrag verweist als den, auf den „ rhs “ verweist; andernfalls wird „ false “ zurückgegeben.

Siehe auch operator==().

[noexcept] bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)

Gibt ` true ` zurück, wenn ` QFileInfo ` lhs und ` QFileInfo ` rhs auf denselben Eintrag im Dateisystem verweisen; andernfalls wird ` false` zurückgegeben.

Beachten Sie, dass das Ergebnis des Vergleichs zweier leerer „ QFileInfo “-Objekte, die keine Verweise auf Dateisystemeinträge enthalten (Pfade, die nicht existieren oder leer sind), undefiniert ist.

Warnung: Dabei werden zwei verschiedene symbolische Verknüpfungen, die auf dasselbe Ziel verweisen, nicht verglichen.

Warnung: Unter Windows werden lange und kurze Pfade, die auf denselben Dateisystemeintrag verweisen, so behandelt, als würden sie auf unterschiedliche Einträge verweisen.

Siehe auch operator!=().

Makro-Dokumentation

[since 6.0] QT_IMPLICIT_QFILEINFO_CONSTRUCTION

Durch die Definition dieses Makros werden die meisten Konstruktoren von „ QFileInfo “ implizit statt explizit ausgeführt. Da die Erstellung von „ QFileInfo “-Objekten ressourcenintensiv ist, sollte man vermeiden, sie versehentlich zu erstellen, insbesondere wenn kostengünstigere Alternativen zur Verfügung stehen. Zum Beispiel:

QDirIterator it(dir);
while (it.hasNext()) {
    // Implicit conversion from QString (returned by it.next()):
    // may create unnecessary data structures and cause additional
    // accesses to the file system. Unless this macro is defined,
    // this line does not compile.

    QFileInfo fi = it.next();

    ~~~
}

Verwenden Sie stattdessen die richtige API:

QDirIterator it(dir);
while (it.hasNext()) {
    // Extract the QFileInfo from the iterator directly:
    QFileInfo fi = it.nextFileInfo();

    ~~~
}

Die Erstellung von Objekten vom Typ ` QString`, ` QFile` usw. ist immer möglich, indem man direkte Initialisierung anstelle von Kopierinitialisierung verwendet:

QFileInfo fi1 = some_string; // Does not compile unless this macro is defined
QFileInfo fi2(some_string);  // OK
QFileInfo fi3{some_string};  // Possibly better, avoids the risk of the Most Vexing Parse
auto fi4 = QFileInfo(some_string); // OK

Dieses Makro wird aus Kompatibilitätsgründen bereitgestellt. Seine Verwendung wird in neuem Code nicht empfohlen.

Dieses Makro wurde in Qt 6.0 eingeführt.

© 2026 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.