文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图(Qt5):
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是随机访问设备。