Работа с файлами и директориями в Qt 12

Работа с файлами и директориями в Qt

QFileSystemWatcher: отслеживание изменений файлов и папок в реальном времени

Введение Многим приложениям нужно знать, когда изменился файл конфигурации, появился новый лог или была удалена папка с данными. Опрашивать файловую систему вручную через таймер — неэффективно и медленно…

Работа с файлами и директориями в Qt

Работа с большими файлами в Qt: QFile, буферизация и потоковое чтение

Введение Когда размер файла измеряется гигабайтами — будь то видео, журнал событий или дамп базы данных — наивный подход «прочитать всё в QByteArray» приводит к исчерпанию памяти и…

Работа с файлами и директориями в Qt

QTemporaryFile и QTemporaryDir: временные файлы без утечек

Введение Временные файлы используются повсеместно: для промежуточных результатов обработки, кэширования, атомарной записи, обмена данными между процессами. Ручное управление такими файлами чревато утечками — забытый remove() оставляет мусор на…

Работа с файлами и директориями в Qt

Сравнение QFile, QSaveFile и атомарная запись данных

Введение Представьте: приложение сохраняет важный конфигурационный файл, и в момент записи происходит сбой питания или принудительное завершение процесса. Если запись шла напрямую в целевой файл через QFile, результат…

Работа с файлами и директориями в Qt

Архивация и распаковка ZIP в Qt: обзор подходов и библиотек

Введение Qt Core не предоставляет встроенного публичного API для работы с ZIP-архивами в полном объёме — это удивляет многих разработчиков, ожидающих найти QZipFile рядом с QFile. Тем не…

Работа с файлами и директориями в Qt

Мониторинг диска и свободного места с QStorageInfo

Введение Перед сохранением большого файла или резервной копии разумно проверить, достаточно ли места на диске. Также приложениям часто нужно узнать, на каком разделе расположен тот или иной путь,…

Работа с файлами и директориями в Qt

Чтение и запись бинарных файлов через QDataStream: версии формата и совместимость

Введение Когда приложению нужно сохранять структурированные данные — настройки, сериализованные объекты, кэш — в собственном бинарном формате, на помощь приходит QDataStream. Этот класс умеет сериализовать большинство типов Qt…

Работа с файлами и директориями в Qt

Работа с правами доступа к файлам в Qt: QFile::permissions на разных ОС

Введение Права доступа к файлам — одна из тех областей, где различия между Windows, Linux и macOS особенно заметны. POSIX-системы используют модель «владелец/группа/прочие» с битами чтения, записи и…

Работа с файлами и директориями в Qt

Поиск файлов по маске и рекурсивный обход директорий с QDirIterator

Введение Поиск всех файлов с определённым расширением в дереве каталогов, подсчёт суммарного размера логов, построение индекса медиатеки — все эти задачи требуют эффективного обхода файловой системы. QDir::entryList() подходит…

Работа с файлами и директориями в Qt

Кроссплатформенные пути в Qt: QStandardPaths и где хранить данные приложения

Введение Один из первых вопросов, с которым сталкивается разработчик десктопного приложения — куда сохранять настройки, кэш, пользовательские документы? Жёстко прописанные пути типа C:\MyApp или /home/user/.myapp ломаются при переходе…