QFileInfo

Автор: | 31 июля, 2019

Данный класс представляет возможность получении информации о свойствах файлов или каталогах.

К таким свойствам можно отнести сведенье об имени файла, пути файла, правах доступа, размер и многое другое.

Рассмотрим по подробней несколько методов получения свойств файла.

Получение атрибутов QFileInfo

Проверка на файл или каталог:

QFileInfo fileInfo(file);
qDebug () << fileInfo.isFile();
qDebug () << fileInfo.isDir();

Возвращает true при совпадении

Получение полного пути к файлу:

QFileInfo fileInfo(file);
qDebug() << fileInfo.absoluteFilePath(); // вернет путь с именем фала
qDebug() <<fileInfo.absolutePath(); // вернет только путь

Получить размер файла:

QFileInfo fileInfo(file);
qDebug() << fileInfo.size();

Вернет целое значение в байтах

Получить дату и время:

QFileInfo fileInfo(file);
qDebug() << fileInfo.created().toString();      // Создание файла
qDebug() << fileInfo.lastModified().toString(); // Изменения файла
qDebug() << fileInfo.lastRead().toString();     // Чтение файла

Для получения расширения файла:

QFileInfo fileInfo(file);
qDebug() << fileInfo.suffix();

Получение атрибутов файла:

qDebug() << fileInfo.isAbsolute();

Возвращает true, если путь к файлу является абсолютным, в противном случае возвращает false, если путь относительный

qDebug() << fileInfo.isBundle();

Возвращает true, если этот объект указывает на пакет или на символическую ссылку на пакет в macOS и iOS; в противном случае возвращает false

qDebug() << fileInfo.isExecutable();

Возвращает true, если файл исполняемый; в противном случае возвращает false

qDebug() << fileInfo.isHidden();

Возвращает true, если это «скрытый» файл; в противном случае возвращает false

qDebug() << fileInfo.isNativePath();

Возвращает true, если путь к файлу можно использовать напрямую с нативными API. Возвращает false, если файл иначе поддерживается виртуальной файловой системой внутри Qt, такой как Qt Resource System

qDebug() << fileInfo.isReadable();

Возвращает true, если файл исполняемый; в противном случае возвращает false

qDebug() << fileInfo.isRelative();

Возвращает true, если путь к файлу является относительным, в противном случае возвращает false, если путь абсолютный (например, в Unix путь является абсолютным, если он начинается с «/»)

qDebug() << fileInfo.isRoot();

Возвращает true, если объект указывает на каталог или на символическую ссылку на каталог, и этот каталог является корневым каталогом; в противном случае возвращает false

qDebug() << fileInfo.isSymLink();

Возвращает true, если этот объект указывает на символическую ссылку; в противном случае возвращает false

qDebug() << fileInfo.isWritable();

Возвращает true, если пользователь может записать в файл; в противном случае возвращает false