QFileInfo Class
La classe QFileInfo fournit une API indépendante du système d'exploitation pour récupérer des informations sur les entrées du système de fichiers. Plus d'informations...
| En-tête : | #include <QFileInfo> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake : | QT += core |
- Liste de tous les membres, y compris les membres hérités
- QFileInfo fait partie de Input/Output et Networking et de Implicitly Shared Classes.
Cette classe est comparable à l'égalité.
Note : Toutes les fonctions de cette classe sont réentrantes.
Fonctions publiques
| 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) | |
| ~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) |
Membres publics statiques
| bool | exists(const QString &path) |
Non-membres apparentés
| QFileInfoList | |
| bool | operator!=(const QFileInfo &lhs, const QFileInfo &rhs) |
| bool | operator==(const QFileInfo &lhs, const QFileInfo &rhs) |
Macros
(since 6.0) | QT_IMPLICIT_QFILEINFO_CONSTRUCTION |
Description détaillée
QFileInfo fournit des informations sur une entrée du système de fichiers, telles que son nom, son chemin d'accès, ses droits d'accès et s'il s'agit d'un fichier normal, d'un répertoire ou d'un lien symbolique. La taille de l'entrée et les heures de dernière modification/lecture sont également disponibles. QFileInfo peut également être utilisé pour obtenir des informations sur une ressource Qt.
Un QFileInfo peut pointer vers une entrée du système de fichiers avec un chemin absolu ou relatif :
- Sous Unix, les chemins absolus commencent par le séparateur de répertoire
'/'. Sous Windows, les chemins absolus commencent par une spécification de lecteur (par exemple,D:/). - Les chemins relatifs commencent par un nom de répertoire ou un nom de fichier normal et spécifient le chemin d'accès à une entrée du système de fichiers par rapport au répertoire de travail actuel.
Un exemple de chemin absolu est la chaîne "/tmp/quartz". Un chemin relatif peut ressembler à "src/fatlib". Vous pouvez utiliser la fonction isRelative() pour vérifier si un QFileInfo utilise un chemin relatif ou absolu. Vous pouvez appeler la fonction makeAbsolute() pour convertir le chemin relatif d'un QFileInfo en chemin absolu.
Remarque : les chemins commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent une adresse QResource.
Le chemin d'entrée du système de fichiers sur lequel travaille le QFileInfo est défini dans le constructeur ou ultérieurement avec setFile(). Utilisez exists() pour vérifier si l'entrée existe réellement et size() pour obtenir sa taille.
Le type de l'entrée du système de fichiers est obtenu avec isFile(), isDir() et isSymLink(). La fonction symLinkTarget() fournit le chemin absolu de la cible vers laquelle pointe le lien symbolique.
Les éléments du chemin de l'entrée du système de fichiers peuvent être extraits avec path() et fileName(). Les parties de la fonction fileName() peuvent être extraites avec baseName(), suffix() ou completeSuffix(). Les objets QFileInfo faisant référence à des répertoires créés par des classes Qt n'auront pas de séparateur de répertoire à la fin '/'. Si vous souhaitez utiliser des séparateurs de fin dans vos propres objets info-fichier, ajoutez-en un au chemin de l'entrée donné aux constructeurs ou à setFile().
Les informations relatives à la date et à l'heure sont renvoyées par birthTime(), fileTime(), lastModified(), lastRead() et metadataChangeTime(). Les informations relatives aux autorisations d'accès peuvent être obtenues avec isReadable(), isWritable() et isExecutable(). Les informations sur la propriété peuvent être obtenues avec owner(), ownerId(), group() et groupId(). Vous pouvez également examiner les autorisations et la propriété dans une seule déclaration à l'aide de la fonction permission().
Liens symboliques et raccourcis
Sous Unix (y compris macOS et iOS), les fonctions d'obtention de propriétés de cette classe renvoient les propriétés telles que l'heure et la taille de la cible, et non le lien symbolique, car Unix gère les liens symboliques de manière transparente. L'ouverture d'un lien symbolique à l'aide de QFile ouvre effectivement la cible du lien. Par exemple :
#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
Sous Windows, les raccourcis (fichiers.lnk ) sont actuellement traités comme des liens symboliques. Comme sur les systèmes Unix, les récupérateurs de propriétés renvoient la taille de la cible, et non le fichier .lnk lui-même. Ce comportement est déprécié et sera probablement supprimé dans une prochaine version de Qt XML, après quoi les fichiers .lnk seront traités comme des fichiers normaux.
#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
Permissions NTFS
Sur les systèmes de fichiers NTFS, la vérification de la propriété et des permissions est désactivée par défaut pour des raisons de performance. Pour l'activer, ajoutez la ligne suivante :
extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
La vérification des permissions est ensuite activée et désactivée en incrémentant et décrémentant qt_ntfs_permission_lookup de 1.
qt_ntfs_permission_lookup++; // turn checking on qt_ntfs_permission_lookup--; // turn it off again
Remarque : comme il s'agit d'une variable globale non atomique, il n'est prudent d'incrémenter ou de décrémenter qt_ntfs_permission_lookup qu'avant le démarrage de tout autre thread que le thread principal ou après la fin de tout autre thread que le thread principal.
Note : À partir de Qt 6.6, la variable qt_ntfs_permission_lookup est obsolète. Veuillez utiliser les alternatives suivantes.
La manière la plus sûre et la plus simple de gérer les contrôles de permission est d'utiliser la classe RAII 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
Si vous avez besoin d'un contrôle plus fin, il est possible de gérer les autorisations à l'aide des fonctions suivantes :
qAreNtfsPermissionChecksEnabled() ; // vérifier l'étatqEnableNtfsPermissionChecks(); // turn checking on qDisableNtfsPermissionChecks(); // turn it off again
Considérations sur les performances
Certaines fonctions de QFileInfo doivent interroger le système de fichiers, mais pour des raisons de performances, certaines fonctions n'opèrent que sur la chaîne du chemin. Par exemple, pour retourner le chemin absolu d'une entrée relative, Pour renvoyer le chemin absolu du chemin d'une entrée relative, absolutePath() doit interroger le système de fichiers. La fonction path(), en revanche, peut travailler directement sur le nom du fichier, ce qui la rend plus rapide.
QFileInfo met également en cache des informations sur l'entrée du système de fichiers à laquelle il fait référence. Comme le système de fichiers peut être modifié par d'autres utilisateurs ou programmes, voire par d'autres parties du même programme, il existe une fonction qui rafraîchit les informations stockées dans QFileInfo, à savoir refresh(). Pour désactiver la mise en cache d'un QFileInfo (c'est-à-dire le forcer à interroger le système de fichiers sous-jacent chaque fois que vous lui demandez des informations), appelez setCaching(false).
L'extraction d'informations du système de fichiers se fait généralement en appelant des fonctions système (éventuellement) coûteuses, de sorte que QFileInfo (selon l'implémentation) peut ne pas extraire toutes les informations du système de fichiers au moment de la construction. Pour s'assurer que toutes les informations sont lues immédiatement depuis le système de fichiers, utilisez la fonction membre stat().
birthTime(), fileTime(), lastModified(), lastRead() et metadataChangeTime() renvoient par défaut les heures en heure locale. Étant donné que l'API du système de fichiers natif utilise généralement l'heure UTC, une conversion est nécessaire. Si vous n'avez pas besoin de l'heure locale, vous pouvez éviter ce problème en demandant directement l'heure à QTimeZone::UTC.
Problèmes spécifiques à la plateforme
Sur Android, certaines limitations s'appliquent au traitement des URI de contenu:
- Des autorisations d'accès peuvent être nécessaires en demandant à l'utilisateur d'utiliser le site QFileDialog qui met en œuvre le sélecteur de fichiers natif d'Android.
- Essayez de suivre les lignes directrices relatives au stockage ciblé, comme l'utilisation de répertoires spécifiques à l'application plutôt que d'autres répertoires externes publics. Pour plus d'informations, consultez également les meilleures pratiques en matière de stockage.
- En raison de la conception des API de Qt Designer (par exemple QFile), il n'est pas possible d'intégrer pleinement ces dernières aux API du MediaStore d' Android.
Documentation des fonctions membres
QFileInfo::QFileInfo()
Construit un objet QFileInfo vide qui ne fait référence à aucune entrée du système de fichiers.
Voir aussi setFile().
[explicit] QFileInfo::QFileInfo(const QFileDevice &file)
Construit un nouveau QFileInfo qui donne des informations sur le fichier file.
Si le fichier file a un chemin d'accès relatif, le QFileInfo aura également un chemin d'accès relatif.
Voir aussi isRelative().
[explicit] QFileInfo::QFileInfo(const QString &path)
Construit un QFileInfo qui donne des informations sur une entrée du système de fichiers située à l'adresse path, qui peut être absolue ou relative.
Si path est relatif, le QFileInfo aura également un chemin d'accès relatif.
Voir aussi setFile(), isRelative(), QDir::setCurrent() et QDir::isRelativePath().
[since 6.0] QFileInfo::QFileInfo(const std::filesystem::path &file)
Construit un nouveau QFileInfo qui donne des informations sur le fichier donné file.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi setFile(), isRelative(), QDir::setCurrent() et QDir::isRelativePath().
[explicit] QFileInfo::QFileInfo(const QDir &dir, const QString &path)
Construit un nouveau QFileInfo qui donne des informations sur l'entrée de système de fichiers donnée path qui est relative au répertoire dir.
Si dir a un chemin d'accès relatif, le QFileInfo aura également un chemin d'accès relatif.
Si path est absolu, le répertoire spécifié par dir n'est pas pris en compte.
Voir aussi isRelative().
[since 6.0] QFileInfo::QFileInfo(const QDir &dir, const std::filesystem::path &path)
Construit un nouveau QFileInfo qui donne des informations sur l'entrée du système de fichiers à path qui est relative au répertoire dir.
Si dir a un chemin d'accès relatif, le QFileInfo aura également un chemin d'accès relatif.
Si path est un chemin absolu, le répertoire spécifié par dir ne sera pas pris en compte.
Cette fonction a été introduite dans Qt 6.0.
QFileInfo::QFileInfo(const QFileInfo &fileinfo)
Construit un nouveau QFileInfo qui est une copie du fichier donné fileinfo.
[noexcept] QFileInfo::~QFileInfo()
Détruit le site QFileInfo et libère ses ressources.
QDir QFileInfo::absoluteDir() const
Renvoie un objet QDir représentant le chemin absolu du répertoire parent de l'entrée du système de fichiers à laquelle ce QFileInfo fait référence.
// Si le répertoire de travail actuel est "/home/user/Documents/memos/", l'objetretourne lechemin absolu du répertoireparent del'entrée du système de fichiers àlaquelle fait référenceQFileInfo 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" // Un QFileInfo sur un répertoireQFileInfo 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"
Voir aussi dir(), filePath(), fileName() et isRelative().
QString QFileInfo::absoluteFilePath() const
Renvoie le chemin d'accès complet absolu à l'entrée du système de fichiers à laquelle cette adresse QFileInfo fait référence, y compris le nom de l'entrée.
Sous Unix, les chemins d'accès absolus commencent par le séparateur de répertoire '/'. Sous Windows, les chemins d'accès absolus commencent par une spécification de lecteur (par exemple, D:/).
Sous Windows, les chemins d'accès aux partages réseau qui ne sont pas associés à une lettre de lecteur commencent par //sharename/.
QFileInfo Les lettres de lecteur doivent être en majuscules. Notez que QDir ne fait pas cela. L'extrait de code ci-dessous le montre.
Cette fonction renvoie le même résultat que filePath(), sauf si isRelative() est vrai. Contrairement à canonicalFilePath(), les liens symboliques ou les éléments redondants "." ou "..." ne sont pas nécessairement supprimés.
Attention : Si filePath() est vide, le comportement de cette fonction est indéfini.
Voir aussi filePath(), canonicalFilePath() et isRelative().
QString QFileInfo::absolutePath() const
Renvoie le chemin absolu de l'entrée du système de fichiers à laquelle QFileInfo fait référence, à l'exclusion du nom de l'entrée.
Sous Unix, les chemins d'accès absolus commencent par le séparateur de répertoire '/'. Sous Windows, les chemins d'accès absolus commencent par une spécification de lecteur (par exemple, D:/).
Sous Windows, les chemins d'accès aux partages réseau qui ne sont pas associés à une lettre de lecteur commencent par //sharename/.
Contrairement à canonicalPath(), les liens symboliques ou les éléments "." ou ".." redondants ne sont pas nécessairement supprimés.
Attention : Si filePath() est vide, le comportement de cette fonction est indéfini.
Voir aussi absoluteFilePath(), path(), canonicalPath(), fileName() et isRelative().
QString QFileInfo::baseName() const
Renvoie le nom de base du fichier sans le chemin d'accès.
Le nom de base se compose de tous les caractères du fichier jusqu'au premier caractère "." (non compris).
Exemple : le nom de base d'un fichier est calculé de la même manière sur toutes les plates-formes :
Le nom de base d'un fichier est calculé de la même manière sur toutes les plateformes, indépendamment des conventions de dénomination des fichiers (par exemple, ".bashrc" sous Unix a un nom de base vide et le suffixe est "bashrc").
Voir aussi fileName(), suffix(), completeSuffix() et completeBaseName().
QDateTime QFileInfo::birthTime() const
Renvoie la date et l'heure de création (naissance) du fichier, en heure locale.
Si l'heure de naissance du fichier n'est pas disponible, cette fonction renvoie une adresse invalide QDateTime.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction surcharge QFileInfo::birthTime(const QTimeZone &tz), et renvoie la même chose que birthTime(QTimeZone::LocalTime).
Voir aussi lastModified(), lastRead(), metadataChangeTime() et fileTime().
[since 6.6] QDateTime QFileInfo::birthTime(const QTimeZone &tz) const
Renvoie la date et l'heure auxquelles le fichier a été créé (born).
L'heure renvoyée est celle du fuseau horaire spécifié par tz. Par exemple, vous pouvez utiliser QTimeZone::LocalTime ou QTimeZone::UTC pour obtenir l'heure dans le fuseau horaire local ou UTC, respectivement. Étant donné que l'API du système de fichiers natif utilise généralement l'UTC, l'utilisation de QTimeZone::UTC est souvent plus rapide, car elle ne nécessite aucune conversion.
Si l'heure de naissance du fichier n'est pas disponible, cette fonction renvoie une adresse invalide QDateTime.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), et fileTime(QFileDevice::FileTime, const QTimeZone &).
QString QFileInfo::bundleName() const
Renvoie le nom du bundle.
Sur macOS et iOS, cela renvoie le nom localisé approprié pour un bundle si le chemin isBundle(). Sur toutes les autres plateformes, un QString vide est renvoyé.
Exemple :
Voir aussi isBundle(), filePath(), baseName(), et suffix().
bool QFileInfo::caching() const
Renvoie true si la mise en cache est activée ; sinon, renvoie false.
Voir aussi setCaching() et refresh().
QString QFileInfo::canonicalFilePath() const
Renvoie le chemin canonique de l'entrée du système de fichiers, y compris le nom de l'entrée, c'est-à-dire un chemin absolu sans liens symboliques ni éléments redondants '.' ou '..'.
Si l'entrée n'existe pas, canonicalFilePath() renvoie une chaîne vide.
Voir aussi filePath(), absoluteFilePath() et dir().
QString QFileInfo::canonicalPath() const
Renvoie le chemin canonique de l'entrée du système de fichiers (à l'exclusion du nom de l'entrée), c'est-à-dire un chemin absolu sans liens symboliques ni éléments "." ou "..." redondants.
Si l'entrée n'existe pas, cette méthode renvoie une chaîne vide.
Voir aussi path() et absolutePath().
QString QFileInfo::completeBaseName() const
Renvoie le nom de base complet du fichier sans le chemin d'accès.
Le nom de base complet se compose de tous les caractères du fichier jusqu'au dernier caractère "." (non compris).
Exemple :
Voir aussi fileName(), suffix(), completeSuffix() et baseName().
QString QFileInfo::completeSuffix() const
Renvoie le suffixe complet (extension) du fichier.
Le suffixe complet se compose de tous les caractères du fichier après le premier "." (non compris).
Exemple :
Voir aussi fileName(), suffix(), baseName() et completeBaseName().
QDir QFileInfo::dir() const
Renvoie un objet QDir représentant le chemin du répertoire parent de l'entrée du système de fichiers à laquelle ce QFileInfo fait référence.
Remarque : l'objet QDir renvoyé correspond toujours au répertoire parent de l'objet, même si l'objet QFileInfo représente un répertoire.
Pour chacun des éléments suivants, dir() renvoie QDir "~/examples/191697" .
QFileInfo fileInfo1("~/examples/191697/."); QFileInfo fileInfo2("~/examples/191697/.."); QFileInfo fileInfo3("~/examples/191697/main.cpp");
Pour chacun des éléments suivants, dir() renvoie QDir "." .
Voir également absolutePath(), filePath(), fileName(), isRelative() et absoluteDir().
bool QFileInfo::exists() const
Renvoie true si l'entrée du système de fichiers à laquelle QFileInfo fait référence existe ; sinon, elle renvoie false.
Remarque : si l'entrée est un lien symbolique qui pointe vers une cible inexistante, cette méthode renvoie false.
[static] bool QFileInfo::exists(const QString &path)
Renvoie true si l'entrée du système de fichiers path existe ; sinon, renvoie false.
Remarque : si path est un lien symbolique qui pointe vers une cible inexistante, cette méthode renvoie false.
Remarque : l'utilisation de cette fonction est plus rapide que l'utilisation de QFileInfo(path).exists() pour l'accès au système de fichiers.
QString QFileInfo::fileName() const
Renvoie le nom de l'entrée du système de fichiers à laquelle QFileInfo fait référence, à l'exclusion du chemin d'accès.
Exemple :
Note : Si ce QFileInfo reçoit un chemin d'accès se terminant par un séparateur de répertoire '/', la partie du nom de l'entrée est considérée comme vide.
Voir aussi isRelative(), filePath(), baseName() et suffix().
QString QFileInfo::filePath() const
Renvoie le chemin d'accès à l'entrée du système de fichiers à laquelle cette adresse QFileInfo fait référence ; le chemin d'accès peut être absolu ou relatif.
Voir aussi absoluteFilePath(), canonicalFilePath() et isRelative().
QDateTime QFileInfo::fileTime(QFileDevice::FileTime time) const
Renvoie l'heure du fichier spécifiée par time.
Si l'heure ne peut être déterminée, une date et une heure invalides sont renvoyées.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction surcharge QFileInfo::fileTime(QFileDevice::FileTime, const QTimeZone &), et renvoie la même chose que fileTime(time, QTimeZone::LocalTime).
Voir aussi birthTime(), lastModified(), lastRead() et metadataChangeTime().
[since 6.6] QDateTime QFileInfo::fileTime(QFileDevice::FileTime time, const QTimeZone &tz) const
Renvoie l'heure du fichier spécifiée par time.
L'heure renvoyée est celle du fuseau horaire spécifié par tz. Par exemple, vous pouvez utiliser QTimeZone::LocalTime ou QTimeZone::UTC pour obtenir l'heure dans le fuseau horaire local ou UTC, respectivement. Étant donné que l'API du système de fichiers natif utilise généralement l'UTC, l'utilisation de QTimeZone::UTC est souvent plus rapide, car elle ne nécessite aucune conversion.
Si l'heure ne peut pas être déterminée, une date et une heure invalides sont renvoyées.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), et QDateTime::isValid().
[since 6.0] std::filesystem::path QFileInfo::filesystemAbsoluteFilePath() const
Renvoie absoluteFilePath() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi absoluteFilePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemAbsolutePath() const
Renvoie absolutePath() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi absolutePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalFilePath() const
Renvoie canonicalFilePath() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi canonicalFilePath().
[since 6.0] std::filesystem::path QFileInfo::filesystemCanonicalPath() const
Renvoie canonicalPath() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi canonicalPath().
[since 6.0] std::filesystem::path QFileInfo::filesystemFilePath() const
Renvoie filePath() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi filePath().
[since 6.2] std::filesystem::path QFileInfo::filesystemJunctionTarget() const
Renvoie junctionTarget() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.2.
Voir aussi junctionTarget().
[since 6.0] std::filesystem::path QFileInfo::filesystemPath() const
Renvoie path() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi path().
[since 6.6] std::filesystem::path QFileInfo::filesystemReadSymLink() const
Renvoie readSymLink() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi readSymLink().
[since 6.0] std::filesystem::path QFileInfo::filesystemSymLinkTarget() const
Renvoie symLinkTarget() sous forme de std::filesystem::path.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi symLinkTarget().
QString QFileInfo::group() const
Renvoie le groupe du fichier. Sous Windows, sur les systèmes où les fichiers n'ont pas de groupe, ou en cas d'erreur, une chaîne vide est renvoyée.
Cette fonction peut prendre beaucoup de temps sous Unix (de l'ordre de quelques millisecondes).
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi groupId(), owner() et ownerId().
uint QFileInfo::groupId() const
Renvoie l'identifiant du groupe auquel appartient le fichier.
Sous Windows et sur les systèmes où les fichiers n'ont pas de groupes, cette fonction renvoie toujours (uint) -2.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi group(), owner() et ownerId().
bool QFileInfo::isAbsolute() const
Renvoie true si le chemin d'accès à l'entrée du système de fichiers est absolu, sinon renvoie false (c'est-à-dire que le chemin d'accès est relatif).
Remarque : les chemins d'accès commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent une adresse QResource.
Voir également isRelative().
[since 6.4] bool QFileInfo::isAlias() const
Renvoie true si cet objet pointe vers un alias ; sinon, renvoie false.
Les alias n'existent que sous macOS. Ils sont traités comme des fichiers normaux, de sorte que l'ouverture d'un alias entraîne l'ouverture du fichier lui-même. Pour ouvrir le fichier ou le répertoire référencé par un alias, utilisez symLinkTarget().
Note : Même si un alias pointe vers un fichier qui n'existe pas, isAlias() renvoie vrai.
Cette fonction a été introduite dans Qt 6.4.
Voir aussi isFile(), isDir(), isSymLink(), et symLinkTarget().
bool QFileInfo::isBundle() const
Renvoie true si cet objet pointe vers un bundle ou vers un lien symbolique vers un bundle sous macOS et iOS ; sinon, renvoie false.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi isDir(), isSymLink() et isFile().
bool QFileInfo::isDir() const
Renvoie true si cet objet pointe vers un répertoire ou un lien symbolique vers un répertoire. Retourne false si l'objet pointe vers quelque chose qui n'est pas un répertoire (comme un fichier) ou qui n'existe pas.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi isFile(), isSymLink() et isBundle().
bool QFileInfo::isExecutable() const
Renvoie true si l'entrée du système de fichiers à laquelle QFileInfo fait référence est exécutable ; sinon, elle renvoie false.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir également isReadable(), isWritable() et permission().
bool QFileInfo::isFile() const
Renvoie true si cet objet pointe vers un fichier ou un lien symbolique vers un fichier. Retourne false si l'objet pointe vers quelque chose qui n'est pas un fichier (comme un répertoire) ou qui n'existe pas.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi isDir(), isSymLink() et isBundle().
bool QFileInfo::isHidden() const
Renvoie true si l'entrée du système de fichiers à laquelle QFileInfo fait référence est "cachée" ; sinon, elle renvoie false.
Remarque : cette fonction renvoie true pour les entrées spéciales "." et "..." sous Unix, même si QDir::entryList les traite comme indiqué. Et notez que, puisque cette fonction inspecte le nom du fichier, sous Unix, elle inspectera le nom du lien symbolique, si ce fichier est un lien symbolique, et non le nom de la cible.
Sous Windows, cette fonction renvoie true si le fichier cible est caché (pas le lien symbolique).
bool QFileInfo::isJunction() const
Renvoie true si l'objet pointe vers une jonction ; sinon, il renvoie false.
Les jonctions n'existent que sur le système de fichiers NTFS de Windows et sont généralement créées par la commande mklink. Elles peuvent être considérées comme des liens symboliques pour les répertoires et ne peuvent être créées que pour des chemins absolus sur le volume local.
bool QFileInfo::isNativePath() const
Renvoie true si le chemin d'accès au fichier peut être utilisé directement avec les API natives. Renvoie false si le fichier est pris en charge par un système de fichiers virtuel dans Qt, tel que le système de ressources Qt.
Note : Les chemins natifs peuvent toujours nécessiter une conversion des séparateurs de chemin et de l'encodage des caractères, en fonction de la plate-forme et des exigences d'entrée de l'API native.
Voir aussi QDir::toNativeSeparators(), QFile::encodeName(), filePath(), absoluteFilePath() et canonicalFilePath().
[since 6.10] bool QFileInfo::isOther() const
Renvoie true si QFileInfo fait référence à une entrée du système de fichiers qui n' est pas un répertoire, un fichier normal ou un lien symbolique. Sinon, elle renvoie false.
Si QFileInfo renvoie à une entrée inexistante, cette méthode renvoie false.
Si l'entrée est un lien symbolique non valide (la cible n'existe pas), cette méthode renvoie false. Dans le cas d'un lien symbolique qui n'existe pas, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Sous Unix, une entrée spéciale (autre) du système de fichiers est un FIFO, une socket, un périphérique de caractères ou un périphérique de blocs. Pour plus de détails, voir la page de manuel mknod page de manuel.
Sous Windows (pour des raisons historiques, voir Symbolic Links and Shortcuts), cette méthode renvoie true pour les fichiers .lnk.
Cette fonction a été introduite dans Qt 6.10.
Voir aussi isDir(), isFile(), isSymLink(), et QDirListing::IteratorFlag::ExcludeOther.
bool QFileInfo::isReadable() const
Renvoie true si l'utilisateur peut lire l'entrée du système de fichiers à laquelle QFileInfo fait référence ; sinon, elle renvoie false.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Remarque : si la vérification de NTFS permissions n'a pas été activée, le résultat sous Windows indiquera simplement si l'entrée existe.
Voir également isWritable(), isExecutable() et permission().
bool QFileInfo::isRelative() const
Renvoie true si le chemin d'accès à l'entrée du système de fichiers est relatif, sinon renvoie false (c'est-à-dire que le chemin d'accès est absolu).
Sous Unix, les chemins d'accès absolus commencent par le séparateur de répertoire '/'. Sous Windows, les chemins d'accès absolus commencent par une spécification de lecteur (par exemple, D:/).
Remarque : les chemins d'accès commençant par deux points (:) sont toujours considérés comme absolus, car ils indiquent un QResource.
Voir également isAbsolute().
bool QFileInfo::isRoot() const
Renvoie true si l'objet pointe vers un répertoire ou un lien symbolique vers un répertoire, et que ce répertoire est le répertoire racine ; sinon, renvoie false.
bool QFileInfo::isShortcut() const
Renvoie true si cet objet pointe vers un raccourci ; sinon, renvoie false.
Les raccourcis n'existent que sous Windows et sont généralement des fichiers .lnk. Par exemple, true sera renvoyé pour les raccourcis (fichiers*.lnk ) sous Windows, mais false sera renvoyé sous Unix (y compris macOS et iOS).
Les fichiers de raccourcis (.lnk) sont traités comme des fichiers ordinaires. Leur ouverture entraîne l'ouverture du fichier .lnk lui-même. Pour ouvrir le fichier auquel un raccourci fait référence, il faut utiliser symLinkTarget() sur un raccourci.
Remarque : même si un raccourci (raccourci brisé) pointe vers un fichier non existant, isShortcut() renvoie à true.
Voir aussi isFile(), isDir(), isSymbolicLink() et symLinkTarget().
bool QFileInfo::isSymLink() const
Renvoie true si cet objet pointe vers un lien symbolique, un raccourci ou un alias ; sinon, renvoie false.
Les liens symboliques existent sous Unix (y compris macOS et iOS) et Windows et sont généralement créés par les commandes ln -s ou mklink, respectivement. L'ouverture d'un lien symbolique a pour effet d'ouvrir la commande link's target.
En outre, true sera renvoyé pour les raccourcis (fichiers*.lnk ) sous Windows et les alias sous macOS. Ce comportement est déprécié et sera probablement modifié dans une future version de Qt. L'ouverture d'un raccourci ou d'un alias ouvrira le fichier .lnk ou alias lui-même.
Exemple :
QFileInfo info(fileName); if (info.isSymLink()) fileName = info.symLinkTarget();
Note : exists() renvoie true si le lien symbolique pointe vers une cible existante, sinon il renvoie false.
Voir aussi isFile(), isDir() et symLinkTarget().
bool QFileInfo::isSymbolicLink() const
Renvoie true si cet objet pointe vers un lien symbolique ; sinon, renvoie false.
Les liens symboliques existent sous Unix (y compris macOS et iOS) et Windows (NTFS-symlink) et sont généralement créés par les commandes ln -s ou mklink, respectivement.
Unix gère les liens symboliques de manière transparente. L'ouverture d'un lien symbolique entraîne l'ouverture de la commande link's target.
Contrairement à isSymLink(), les raccourcis (fichiers*.lnk ) sous Windows et les alias sous macOS renvoient une réponse fausse. Utilisez plutôt QFileInfo::isShortcut() et QFileInfo::isAlias().
Remarque : exists() renvoie true si le lien symbolique pointe vers une cible existante, sinon il renvoie false.
Voir également isFile(), isDir(), isShortcut() et symLinkTarget().
bool QFileInfo::isWritable() const
Renvoie true si l'utilisateur peut écrire sur l'entrée du système de fichiers à laquelle QFileInfo fait référence ; sinon, renvoie false.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Remarque : si la vérification de NTFS permissions n'a pas été activée, le résultat sous Windows indiquera simplement si l'entrée est marquée comme étant en lecture seule.
Voir également isReadable(), isExecutable() et permission().
[since 6.2] QString QFileInfo::junctionTarget() const
Résout une jonction NTFS en fonction du chemin qu'elle référence.
Renvoie le chemin d'accès absolu au répertoire vers lequel pointe une jonction NTFS, ou une chaîne vide si l'objet n'est pas une jonction NTFS.
Il n'y a aucune garantie que le répertoire nommé par la jonction NTFS existe réellement.
Cette fonction a été introduite dans Qt 6.2.
Voir aussi isJunction(), isFile(), isDir(), isSymLink(), isSymbolicLink() et isShortcut().
QDateTime QFileInfo::lastModified() const
Renvoie la date et l'heure de la dernière modification du fichier.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction surcharge QFileInfo::lastModified(const QTimeZone &), et renvoie la même chose que lastModified(QTimeZone::LocalTime).
Voir aussi birthTime(), lastRead(), metadataChangeTime() et fileTime().
[since 6.6] QDateTime QFileInfo::lastModified(const QTimeZone &tz) const
Renvoie la date et l'heure de la dernière modification du fichier.
L'heure renvoyée est celle du fuseau horaire spécifié par tz. Par exemple, vous pouvez utiliser QTimeZone::LocalTime ou QTimeZone::UTC pour obtenir l'heure dans le fuseau horaire local ou UTC, respectivement. Étant donné que l'API native du système de fichiers utilise généralement l'UTC, l'utilisation de QTimeZone::UTC est souvent plus rapide, car elle ne nécessite aucune conversion.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi birthTime(const QTimeZone &), lastRead(const QTimeZone &), metadataChangeTime(const QTimeZone &), et fileTime(QFileDevice::FileTime, const QTimeZone &).
QDateTime QFileInfo::lastRead() const
Renvoie la date et l'heure de la dernière lecture (accès) du fichier.
Sur les plates-formes où cette information n'est pas disponible, la fonction renvoie la même heure que lastModified().
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction surcharge QFileInfo::lastRead(const QTimeZone &), et renvoie la même chose que lastRead(QTimeZone::LocalTime).
Voir aussi birthTime(), lastModified(), metadataChangeTime() et fileTime().
[since 6.6] QDateTime QFileInfo::lastRead(const QTimeZone &tz) const
Renvoie la date et l'heure de la dernière lecture (accès) du fichier.
L'heure renvoyée est celle du fuseau horaire spécifié par tz. Par exemple, vous pouvez utiliser QTimeZone::LocalTime ou QTimeZone::UTC pour obtenir l'heure dans le fuseau horaire local ou UTC, respectivement. Étant donné que l'API du système de fichiers natif utilise généralement l'UTC, l'utilisation de QTimeZone::UTC est souvent plus rapide, car elle ne nécessite aucune conversion.
Sur les plates-formes où cette information n'est pas disponible, la commande renvoie la même heure que lastModified().
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi birthTime(const QTimeZone &), lastModified(const QTimeZone &), metadataChangeTime(const QTimeZone &), et fileTime(QFileDevice::FileTime, const QTimeZone &).
bool QFileInfo::makeAbsolute()
Si le chemin de l'entrée du système de fichiers est relatif, cette méthode le convertit en chemin absolu et renvoie true; si le chemin est déjà absolu, cette méthode renvoie false.
Voir également filePath() et isRelative().
QDateTime QFileInfo::metadataChangeTime() const
Renvoie la date et l'heure de la dernière modification des métadonnées du fichier, en heure locale.
Un changement de métadonnées se produit lors de la création du fichier, mais également lorsque l'utilisateur écrit ou définit des informations sur l'inode (par exemple, lorsqu'il modifie les autorisations du fichier).
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction surcharge QFileInfo::metadataChangeTime(const QTimeZone &tz), et renvoie la même chose que metadataChangeTime(QTimeZone::LocalTime).
Voir aussi birthTime(), lastModified(), lastRead() et fileTime().
[since 6.6] QDateTime QFileInfo::metadataChangeTime(const QTimeZone &tz) const
Renvoie la date et l'heure de la dernière modification des métadonnées du fichier. Une modification des métadonnées se produit lors de la création du fichier, mais aussi chaque fois que l'utilisateur écrit ou définit des informations sur l'inode (par exemple, en modifiant les autorisations du fichier).
L'heure renvoyée est celle du fuseau horaire spécifié par tz. Par exemple, vous pouvez utiliser QTimeZone::LocalTime ou QTimeZone::UTC pour obtenir l'heure dans le fuseau horaire local ou UTC, respectivement. Étant donné que l'API du système de fichiers natif utilise généralement l'UTC, l'utilisation de QTimeZone::UTC est souvent plus rapide, car elle ne nécessite aucune conversion.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi birthTime(const QTimeZone &), lastModified(const QTimeZone &), lastRead(const QTimeZone &), et fileTime(QFileDevice::FileTime time, const QTimeZone &).
QString QFileInfo::owner() const
Renvoie le propriétaire du fichier. Sur les systèmes où les fichiers n'ont pas de propriétaire, ou en cas d'erreur, une chaîne vide est renvoyée.
Cette fonction peut prendre beaucoup de temps sous Unix (de l'ordre de quelques millisecondes). Sous Windows, elle renvoie une chaîne vide à moins que la vérification NTFS permissions n'ait été activée.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi ownerId(), group() et groupId().
uint QFileInfo::ownerId() const
Renvoie l'identifiant du propriétaire du fichier.
Sous Windows et sur les systèmes où les fichiers n'ont pas de propriétaire, cette fonction renvoie ((uint) -2).
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi owner(), group() et groupId().
QString QFileInfo::path() const
Renvoie le chemin de l'entrée du système de fichiers à laquelle cette QFileInfo fait référence, à l'exclusion du nom de l'entrée.
Remarque : si ce QFileInfo reçoit un chemin d'accès se terminant par un séparateur de répertoire '/', la partie du nom de l'entrée est considérée comme vide. Dans ce cas, cette fonction renvoie le chemin d'accès complet.
Voir aussi filePath(), absolutePath(), canonicalPath(), dir(), fileName() et isRelative().
bool QFileInfo::permission(QFileDevice::Permissions permissions) const
Teste les permissions des fichiers. L'argument permissions peut être plusieurs drapeaux de type QFile::Permissions OU ensemble pour vérifier les combinaisons de permissions.
Sur les systèmes où les fichiers n'ont pas de permissions, cette fonction renvoie toujours true.
Remarque : le résultat peut être inexact sous Windows si la vérification de NTFS permissions n'a pas été activée.
Exemple :
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");
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi isReadable(), isWritable() et isExecutable().
QFileDevice::Permissions QFileInfo::permissions() const
Renvoie la combinaison complète OR-ed together de QFile::Permissions pour le fichier.
Remarque : le résultat peut être inexact sous Windows si la vérification de NTFS permissions n'a pas été activée.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
[since 6.6] QString QFileInfo::readSymLink() const
Lire le chemin référencé par le lien symbolique.
Renvoie le chemin d'accès brut référencé par le lien symbolique, sans résoudre un chemin d'accès relatif au répertoire contenant le lien symbolique. La chaîne renvoyée ne sera un chemin absolu que si le lien symbolique le référence en tant que tel. Renvoie une chaîne vide si l'objet n'est pas un lien symbolique.
Cette fonction a été introduite dans Qt 6.6.
Voir aussi symLinkTarget(), exists(), isSymLink(), isDir() et isFile().
void QFileInfo::refresh()
Actualise les informations sur l'entrée du système de fichiers à laquelle QFileInfo fait référence, c'est-à-dire qu'il lit les informations du système de fichiers la prochaine fois qu'une propriété mise en cache est consultée.
void QFileInfo::setCaching(bool enable)
Si enable est vrai, la mise en cache des informations sur les fichiers est activée. Si enable est faux, la mise en cache est désactivée.
Lorsque la mise en cache est activée, QFileInfo lit les informations sur les fichiers à partir du système de fichiers la première fois qu'elles sont nécessaires, mais généralement pas plus tard.
La mise en cache est activée par défaut.
Voir également refresh() et caching().
void QFileInfo::setFile(const QString &path)
Définit le chemin d'accès de l'entrée du système de fichiers sur laquelle cette QFileInfo fournit des informations à path qui peut être absolu ou relatif.
Sous Unix, les chemins absolus commencent par le séparateur de répertoire '/'. Sous Windows, les chemins d'accès absolus commencent par une spécification de lecteur (par exemple, D:/).
Les chemins relatifs commencent par un nom de répertoire ou un nom de fichier normal et spécifient le chemin d'accès d'une entrée du système de fichiers par rapport au répertoire de travail actuel.
Exemple :
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
Voir également isFile(), isRelative(), QDir::setCurrent() et QDir::isRelativePath().
[since 6.0] void QFileInfo::setFile(const std::filesystem::path &path)
Définit le chemin d'accès à l'entrée du système de fichiers sur laquelle QFileInfo fournit des informations à path.
Si path est relatif, QFileInfo aura également un chemin relatif.
Cette fonction a été introduite dans Qt 6.0.
void QFileInfo::setFile(const QFileDevice &file)
Définit le fichier sur lequel QFileInfo fournit des informations à file.
Si file inclut un chemin d'accès relatif, QFileInfo aura également un chemin d'accès relatif.
Il s'agit d'une fonction surchargée.
Voir aussi isRelative().
void QFileInfo::setFile(const QDir &dir, const QString &path)
Définit le chemin d'accès à l'entrée du système de fichiers sur laquelle QFileInfo fournit des informations à path dans le répertoire dir.
Si dir a un chemin d'accès relatif, QFileInfo aura également un chemin d'accès relatif.
Si path est un chemin absolu, le répertoire spécifié par dir ne sera pas pris en compte.
Il s'agit d'une fonction surchargée.
Voir aussi isRelative().
qint64 QFileInfo::size() const
Renvoie la taille du fichier en octets. Si le fichier n'existe pas ou ne peut être récupéré, la valeur 0 est renvoyée.
Si le fichier est un lien symbolique, cette fonction renvoie des informations sur la cible, et non sur le lien symbolique.
Voir aussi exists().
[since 6.0] void QFileInfo::stat()
Lit tous les attributs du système de fichiers.
Cette fonction est utile lorsque des informations sur le système de fichiers sont collectées dans un thread de travail, puis transmises à l'interface utilisateur sous la forme d'instances de mise en cache QFileInfo.
Cette fonction a été introduite dans Qt 6.0.
Voir aussi setCaching() et refresh().
QString QFileInfo::suffix() const
Renvoie le suffixe (extension) du fichier.
Le suffixe se compose de tous les caractères du fichier après (mais pas y compris) le dernier '.
Exemple :
Le suffixe d'un fichier est calculé de la même manière sur toutes les plateformes, indépendamment des conventions de dénomination des fichiers (par exemple, ".bashrc" sous Unix a un nom de base vide, et le suffixe est "bashrc").
Voir aussi fileName(), completeSuffix(), baseName() et completeBaseName().
[noexcept] void QFileInfo::swap(QFileInfo &other)
Échange cette information de fichier avec other. Cette opération est très rapide et n'échoue jamais.
QString QFileInfo::symLinkTarget() const
Renvoie le chemin d'accès absolu au fichier ou au répertoire vers lequel pointe un lien symbolique, ou une chaîne vide si l'objet n'est pas un lien symbolique.
Ce nom ne peut pas représenter un fichier existant ; il s'agit uniquement d'une chaîne de caractères.
Remarque : exists() renvoie true si le lien symbolique pointe vers une cible existante, sinon il renvoie false.
Voir aussi exists(), isSymLink(), isDir() et isFile().
[noexcept] QFileInfo &QFileInfo::operator=(QFileInfo &&other)
Move-assigne other à cette instance QFileInfo.
QFileInfo &QFileInfo::operator=(const QFileInfo &fileinfo)
Fait une copie de l'adresse fileinfo et l'attribue à cette adresse QFileInfo.
Non-membres apparentés
QFileInfoList
[noexcept] bool operator!=(const QFileInfo &lhs, const QFileInfo &rhs)
Renvoie true si QFileInfo lhs se réfère à une entrée du système de fichiers différente de celle à laquelle se réfère rhs; sinon, renvoie false.
Voir aussi operator==().
[noexcept] bool operator==(const QFileInfo &lhs, const QFileInfo &rhs)
Renvoie true si QFileInfo lhs et QFileInfo rhs font référence à la même entrée du système de fichiers ; sinon, renvoie false.
Notez que le résultat de la comparaison de deux objets QFileInfo vides, ne contenant aucune référence à une entrée du système de fichiers (chemins d'accès inexistants ou vides), est indéfini.
Attention : Cette méthode ne permet pas de comparer deux liens symboliques différents pointant vers la même cible.
Attention : Sous Windows, les chemins longs et courts qui font référence à la même entrée du système de fichiers sont traités comme s'ils faisaient référence à des entrées différentes.
Voir aussi operator!=().
Documentation sur les macros
[since 6.0] QT_IMPLICIT_QFILEINFO_CONSTRUCTION
La définition de cette macro rend la plupart des constructeurs de QFileInfo implicites au lieu d'être explicites. La construction d'objets QFileInfo étant coûteuse, il convient d'éviter de les créer accidentellement, surtout s'il existe des alternatives moins coûteuses. Par exemple :
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();
~~~
}Utilisez plutôt la bonne API :
QDirIterator it(dir); while (it.hasNext()) { // Extract the QFileInfo from the iterator directly: QFileInfo fi = it.nextFileInfo(); ~~~ }
La construction à partir de QString, QFile, et ainsi de suite est toujours possible en utilisant l'initialisation directe au lieu de l'initialisation par copie :
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
Cette macro est fournie pour des raisons de compatibilité. Son utilisation n'est pas recommandée dans le nouveau code.
Cette macro a été introduite dans Qt 6.0.
© 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.