Класс 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
— отличный способ быстро и безопасно получить метаинформацию о любом файле или каталоге. Полезен при построении интерфейсов для работы с файлами, логов, архиваторов и других систем.