【转】Qt之文件操作 QFile
?
转载:http://blog.csdn.net/liuhongwei123888/article/details/6084761
??
今天学习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()返回真。
?
一行一行直接读取文件
?
?QDataStream 重载了运算符了"<<"写数据,>>读数据
?
????? 运行结果:
?????
?
4、QFileInfo
?????QFileInfo类提供了一个与平台无关的文件信息.
?????QFileInfo提供了关于系统中的文件名称和位置,访问权限和是否是符号链接,文件大小和上次修改/读写时间等,也能被用于Qt资源文件。
?????QFileInfo能通过相对/绝对路径指向一个文件。
???? 可以使用isFile(),isDir(),isSymLink().symLinkTarget()函数提供符号链接的目标文件。
??????在Unix(包括Mac OS?
?
?