QFileInfo — получение информации о файлах

Автор: | 7 июня, 2025

Класс QFileInfo предоставляет подробную информацию о файле или каталоге: имя, расширение, размер, дату изменения, абсолютный путь и многое другое.

Подключение QFileInfo

#include <QFileInfo>
#include <QDebug>

Основные свойства QFileInfo

QFileInfo info("example.txt");

qDebug() << "Имя файла:" << info.fileName();
qDebug() << "Путь:" << info.absolutePath();
qDebug() << "Полный путь:" << info.absoluteFilePath();
qDebug() << "Размер (байт):" << info.size();
qDebug() << "Расширение:" << info.suffix();

Проверка типа файла с помощью QFileInfo

if (info.exists()) {
    if (info.isFile()) {
        qDebug() << "Это файл.";
    } else if (info.isDir()) {
        qDebug() << "Это папка.";
    }
}

Дата создания и изменения

qDebug() << "Создан:" << info.created().toString();
qDebug() << "Изменён:" << info.lastModified().toString();
qDebug() << "Последний доступ:" << info.lastRead().toString();

Абсолютный и относительный путь

QDir baseDir("/home/user");
QFileInfo info(baseDir, "documents/report.pdf");

qDebug() << "Относительно /home/user:" << info.filePath();
qDebug() << "Абсолютный путь:" << info.absoluteFilePath();

Проверка доступности с помощью QFileInfo

if (info.isReadable()) qDebug() << "Файл доступен для чтения.";
if (info.isWritable()) qDebug() << "Файл доступен для записи.";
if (info.isExecutable()) qDebug() << "Файл исполняемый.";

Полезные методы QFileInfo

МетодНазначение
fileName()Имя файла
absoluteFilePath()Полный путь
size()Размер файла
isFile(), isDir()Проверка типа
lastModified()Время изменения
exists()Существует ли файл
suffix()Расширение
created()Время создания

QFileInfo — отличный способ быстро и безопасно получить метаинформацию о любом файле или каталоге. Полезен при построении интерфейсов для работы с файлами, логов, архиваторов и других систем.