文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图(Qt5):
30 QT - 文件系统概述_qt
QIODevice: 所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;

QFileDevice: Qt5新增加的类,提供了有关文件操作的通用实现。

QFlie: 访问本地文件或者嵌入资源;

QTemporaryFile: 创建和访问本地文件系统的临时文件;

QBuffer: 读写QbyteArray, 内存文件;

QProcess: 运行外部程序,处理进程间通讯;

QAbstractSocket: 所有套接字类的父类;

QTcpSocket: TCP协议网络数据传输;

QUdpSocket: 传输 UDP 报文;

QSslSocket: 使用 SSL/TLS 传输数据;

文件系统分类:

顺序访问设备:
是指它们的数据只能访问一遍:从头走到尾,从第一个字节开始访问,直到最后一个字节,中途不能返回去读取上一个字节,这其中,QProcess、QTcpSocket、QUdpSoctet和QSslSocket是顺序访问设备。

随机访问设备:
可以访问任意位置任意次数,还可以使用QIODevice::seek()函数来重新定位文件访问位置指针,QFile、QTemporaryFile和QBuffer是随机访问设备。