Qt 笔记:Qt中的IO操作

Qt中IO操作的处理方式

-Qt通过统一的接口简化了文件与外部设备的操作方式

-Qt中的文件被看做一种特殊的外部设备

-Qt中的文件操作与外部设备的操作相同

IO操作中的关键函数接口

-打开设备:bool open(OpenMode mode)

-读取数据:QByteArray read(qint64 maxSize)

-写入数据:qint64 write(const QByteArray &byteArray)

-关闭设备:void close()

IO操作的本质:连续存储空间的数据读写

Qt中IO设备的类型

-顺序存取设备

·只能从头开始顺序的读写数据,不能指定数据的读写位置

-随机存取设备

·可以定位到任意的位置进行数据的读写(seek function)

Qt中IO设备的继承层次图

Qt 笔记:Qt中的IO操作_第1张图片

QFile是Qt中用于文件操作的类

QFile对象对象到计算机上的一个文件

QFile file("C:/test.txt");

if(file.open(QIODevice::WriteOnly | QIIODevice::Text))
{
    file.write("some");
    file.close();
}

if(file.open(QIODevice::ReadOnly | QIODevice::Text))
{
    QByteArray ba = file.readAll();
    QString str(ba);

    qDebug() << str;

    file.close();
}

QFileInfo类:读取文件属性信息

QFile file("C:/test.txt");
QFileInfo info(file);

qDebug() << info.exists();
qDebug() << info.isFile();
qDebug() << info.isReaddable();
qDebug() << info.isWritable();
qDebug() << info.created();
qDebug() << info.lastRead();
qDebug() << info.lastModified();
qDebug() << info.path();
qDebug() << info.fileName();
qDebug() << info.suffix();
qDebug() << info.size();

Qt中提供了临时文件操作类QTemporaryFile

-安全地创建一个全局唯一的临时文件

-当对象销毁时对应的临时文件将被删除

-历史文件的打开方式为QIODevice::ReadWrite

-临时文件常用于大数据传递或者进程间通信的场合

QTemporaryFile tempFile;

if( tempFile.open() )
{
    tempFile.write("some");
    tempFile.close();
}

QFileInfo info(tempFile);
qDebug() << info.isFile();
qDebug() << info.path();
qDebug() << info.fileName();

总结:

·Qt通过统一的方式读写文件和外部设备

·Qt中IO设备的类型分为顺序存取和随机存取两种

·QFile提供了文件操作相关的方法

·QFileInfo提供了读取文件属性相关的方法

Qt中提供了临时文件操作类QTemporaryFile

你可能感兴趣的:(Qt基础)