今天学习QT的文件操作
1、QIODevice 直接继承自QObject
QIODevice类是输入/输出设备的基类。
QIODevice为设备提供了公共实现和抽象接口用于读写块数据。 QIODevice是一个抽象类,不能被实例化。
被Q3Socket,Q3SocketDevice,QAbstractSocket,QBuffer,QFile,QLocalSocket,QNetworkReply,QProcess继承.
===============================================================================================
2、QFile
继承自QIODevice
QFile类是一个操作文件的输入/输出设备。 QFile是用来读写二进制文件和文本文件的输入/输出设备。QFile可以自己单独被使用,但是如果和QDataStream或QTextStream一起使用将更加方便。 文件名通常可以通过构造函数来传递,但也可以使用setName()来设置。目录分隔符在任何操作系统下都使用“/",“/"不被支持。你可以通过exists()来检查一个文件是否存在并且可以通过remove()来移去一个文件。更多操作系统相关的高级文件系统操作QT提供了QFileInfo和QDir类. 文件可以用open()来打开、用close()来关闭、用flush()来刷新。数据通常可以使用QDataStream或者QTextStream进行读写,但你也可以使用read(),readLine(),readAll(),write()读写。QFile也支持getChar(),putChar(),和ungetChar() size()可以返回文件的大小。你可以通过使用pos()函数得到当前文件位置或者使用seek()移到一个新的文件位置。如果你到了文件的末尾,atEnd()返回真。
一行一行直接读取文件
Cpp代码
- QFile file("/home/administrator/testdir/test.txt");
- if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
- qDebug()
关注打赏