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