Инструменты пользователя

Инструменты сайта


develop:qt:files

Это старая версия документа!


Файлы, каталоги, Ввод/Вывод

Ввод/Вывод. Класс QIODevice


IODevice- это абстрактный класс, обобщающий устройства ввода/вывода.
Реализация конкретного устройства происходит в унаследованных классах, есть 4 предопределенных:

  • QFile - работа с файлами
  • QBuffer/QByteArray - работа с буфером
  • QAbstractSocket - базовый класс, для сетевой коммуникации
  • QProcess - работа с процессами

Для работы с устройством, его необходимо открыть в одном из след режимов:

  • QIODevice::NotOpen - устр-во не открыто (хз зачем вообще)
  • QIODevice::ReadOnly - только чтение
  • QIODevice::WriteOnly - только запись
  • QIODevice::ReadWrite - чтение/запись
  • QIODevice::Append - добавление
  • QIODevice::Unbuffered - непосредственный доступ к данным, без промежуточных буферов чтения/записи
  • QIODevice::Text - преобразование символов переноса (Windows/Unix)

Метод openMode() позволяет узнать в каком режиме открыто устройство.
Для чтения записи методы read() и write(), метод readAll() читает все и возвращает QByteArray. Так же есть readLine() и getChar().

Получить текущее положение курсора pos(), сменить его- seek(). Применимо к QFile, QBuffer и QTemoraryFile, не применимо при сетевом доступе.

Есть ряд методов, для получения информации об устройстве, например isReadable() и isWriteable().

:!: Пример: Вывод на консоль с любого устройства в/в.
 

Работа с файлами. Класс QFile


Класс QBuffer


Класс QTemporaryFile


Работа с каталогами. Класс QDir

Содержимое каталога


Информация о файлах. Класс QFileInfo

Файл или Каталог


Путь и имя файла


Информация о дате/времени


Атрибуты файла


Размер файла


Наблюдение за файлами и каталогами

Потоки ввода/вывода

QTextStream


QDataStream


:!: Пример:

develop/qt/files.1631449953.txt.gz · Последнее изменение: 2021/09/12 12:32 — admin