Qt之文件操作QFile于QFileInfo
来源:互联网 发布:snmp端口号及作用 编辑:程序博客网 时间:2024/05/17 18:00
Qt 作为一个通用开发库,提供了跨平台的文件操作能力。下图为Qt5中的类关系图
上图中所涉及的类的简要说明:
QIODevice
:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFlie
:访问本地文件或者嵌入资源;QTemporaryFile
:创建和访问本地文件系统的临时文件;QBuffer
:读写QByteArray
;QProcess
:运行外部程序,处理进程间通讯;QAbstractSocket
:所有套接字类的父类;QTcpSocket:TCP
协议网络数据传输;QUdpSocket
:传输 UDP 报文;QSslSocket
:使用 SSL/TLS 传输数据;QFileDevice:Qt5
新增加的类,提供了有关文件操作的通用实现。
QProcess
、QTcpSocket
、QUdpSoctet
和QSslSocket
是顺序访问设备。所谓“顺序访问”,是指它们的数据只能访问一遍:从头走到尾,从第一个字节开始访问,直到最后一个字节,中途不能返回去读取上一个字节;QFile
、QTemporaryFile
和QBuffer
是随机访问设备,可以访问任意位置任意次数,还可以使用QIODevice::seek()
函数来重新定位文件访问位置指针。QFile
主要提供了有关文件的各种操作,比如打开文件、关闭文件、刷新文件等。我们可以使用QDataStream
或QTextStream
类来读写文件,也可以使用QIODevice
类提供的read()
、readLine()
、readAll()
以及write()
这样的函数。值得注意的是,有关文件本身的信息,比如文件名、文件所在目录的名字等,则是通过QFileInfo
获取,而不是自己分析文件路径字符串。
我们使用QFileInfo
获取有关该文件的信息。QFileInfo
有很多类型的函数,我们只举出一些例子。比如这里,isDir()
检查该文件是否是目录;isExecutable()
检查该文件是否是可执行文件等。baseName()
可以直接获得文件名;suffix()
则直接获取文件后缀名。我们可以由下面的示例看到,baseName()
和completeBaseName()
,以及suffix()
和completeSuffix()
的区别:
QFileInfo fi("/tmp/archive.tar.gz");QString base = fi.baseName(); // base = "archive"QString cbase = fi.completeBaseName(); // base = "archive.tar"QString ext = fi.suffix(); // ext = "gz"QString ext = fi.completeSuffix(); // ext = "tar.gz"
阅读全文
0 0
- Qt之文件操作QFile于QFileInfo
- Qt之文件操作 QFile
- 【转】Qt之文件操作 QFile
- 【转】Qt之文件操作 QFile
- Qt文件读取之QFile
- Qt文件信息获取之QFileInfo
- QT之QFile
- QT QFile删除文件失败
- QT::QFileInfo
- 使用QFile进行文件操作
- [QT]QDir和QFile的基本操作
- Qt拷贝文件、文件夹(QFile::copy)
- Qt拷贝文件、文件夹(QFile::copy)
- Qt拷贝文件、文件夹(QFile::copy)
- 笔记:Qt中的QFile(读写文件)
- Qt中读写文件的内容-------QFile
- Qt拷贝文件、文件夹(QFile::copy)
- qt好用的文件遍历代码,QFileInfo,QDir
- 文章标题
- Oracle 12c 没有scott 解决方法
- IC AND IC_CF
- PHP面试总结-1
- android binder proxy
- Qt之文件操作QFile于QFileInfo
- 实现memcpy函数
- 浅谈自适应滤波器---(自适应陷波器)
- Linux系统编程——特殊进程之孤儿进程
- python--字符串格式化(format)(一)
- pyalgotrade教程5--多标的策略
- Softmax classifier
- Redis-cli命令最新总结
- Web前端-HeadFirst-CH7-CSS入门