Это старая версия документа!
Файлы, каталоги, Ввод/Вывод
Ввод/Вывод. Класс 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
Пример: