Класс 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
.