Класс QFile — это универсальный интерфейс для работы с файлами. С его помощью можно читать, записывать, копировать, удалять файлы, а также проверять их существование.
Подключение QFile
#include <QFile> #include <QTextStream> #include <QDebug>
Чтение текста из файла с помощью QFile
QFile file("example.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream in(&file);
QString content = in.readAll();
qDebug() << content;
file.close();
} else {
qDebug() << "Не удалось открыть файл";
}
Запись текста в файл с помощью QFile
QFile file("output.txt");
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
out << "Привет, мир!\n";
file.close();
}
Добавление текста (Append) с помощью QFile
QFile file("log.txt");
if (file.open(QIODevice::Append | QIODevice::Text)) {
QTextStream out(&file);
out << "Новая запись: " << QDateTime::currentDateTime().toString() << "\n";
file.close();
}
Проверка существования и удаление с помощью QFile
QFile file("old_data.txt");
if (file.exists()) {
file.remove();
qDebug() << "Файл удален.";
} else {
qDebug() << "Файл не найден.";
}
Копирование файла с помощью QFile
if (QFile::copy("source.txt", "backup.txt")) {
qDebug() << "Файл скопирован.";
} else {
qDebug() << "Ошибка при копировании.";
}
Полезные флаги QIODevice
QIODevice::ReadOnly— только для чтенияQIODevice::WriteOnly— только для записиQIODevice::Append— добавить в конец файлаQIODevice::ReadWrite— чтение и записьQIODevice::Truncate— обрезать файл при открытии
Класс QFile — основа любой файловой работы в Qt. Он безопасен, удобен и отлично работает в связке с QTextStream и QFileInfo.
