Qt笔记_18
来源:互联网 发布:知乎 360借壳江南嘉捷 编辑:程序博客网 时间:2024/06/05 10:50
输入输出
输入/输出设备
QIODevice类是所有I/O设备的基础接口类,为QFile、QBuffer、QTcpSocket等支持读/写数据块的设备提供了一个抽象接口。
QFile类提供了用于读写文件的接口。
- 一个文件可以使用open()打开,close()关闭,flush()刷新。
- 文件的数据读写使用QDataStream或者QTextStream,也可以使用继承自QIODevice类的函数,例如read(),readLine(),readAll()和write(),还有一次只操作一个字符的getChar()、putChar()、ungetChar()。
- size()获取文件的大小。
- seek()来定位到文件的位置。
- pos()来获取当前的位置。
- atEnd()判断是否到达了文件尾。
QFileInfo类提供了与系统无关的文件信息。
- isRelative()判断一个QFileInfo对象使用的是相对路径还是绝对路径
- makeAbsolute()将一个相对路径转换为绝对路径
- setFile()设置文件
- exists()查看文件是否存在
- size()获取文件大小
- 文件的类型使用isFile()、isDir()、isSymLink()来获取
- symLinkTarget()返回符号链接指向的文件的名称
- path()和fileName()获取文件的路径和文件名
- baseName()获取文件名中的基本名称
- suffix()获取文件名的后缀
- completeSuffix()获取复合后缀
- 文件日期使用created()、lastModified()、lastRead()来返回
- 访问权限使用isReadable()、isWritable()、isExecutable()来获取
- 文件所有权使用owner()、ownerId()、group()和groupId()来获取
- permission()将文件的访问权限和所有权一次性读取出来
#include <QCoreApplication>#include <QFileInfo>#include <QStringList>#include <QDateTime>#include <QDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); // 以只写方式打开,如果文件不存在,那么会创建该文件 QFile file("file.txt"); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) qDebug() << file.errorString(); file.write("helloQt!\nyafeilinux"); file.close(); // 获取文件信息 QFileInfo info(file); qDebug() << QObject::tr("绝对路径:") << info.absoluteFilePath() << endl << QObject::tr("文件名:") << info.fileName() << endl << QObject::tr("基本名称:") << info.baseName() << endl << QObject::tr("后缀:") << info.suffix() << endl << QObject::tr("创建时间:") << info.created() << endl << QObject::tr("大小:") << info.size(); // 以只读方式打开 if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) qDebug() << file.errorString(); qDebug() << QObject::tr("文件内容:") << endl << file.readAll(); qDebug() << QObject::tr("当前位置:") << file.pos(); file.seek(0); QByteArray array; array = file.read(5); qDebug() << QObject::tr("前5个字符:") << array << QObject::tr("当前位置:") << file.pos(); file.seek(15); array = file.read(5); qDebug() << QObject::tr("第16-20个字符:") << array; file.close(); return a.exec();}
QTemporaryFile类可以安全地创建一个唯一的临时文件
调用open()函数时便会创建一个临时文件,销毁QTemporaryFile对象时,该文件会被自动删除。
文本流和数据流
QTextStream类提供了一个方便的接口来读写文本,可以在QIODevice/QByteArray和QString上进行操作。
示例Find File Example。
阅读全文
1 0
- Qt笔记_18
- JavaSE学习笔记_18:Java-IO流
- 黑马程序员_18 泛型
- 12_18总结
- [Leetcode]_18 4Sum
- 每日一练_18
- Qt 笔记
- Qt笔记
- QT笔记
- Qt笔记
- Qt笔记
- QT笔记
- Qt笔记
- QT笔记
- Qt 笔记
- Qt笔记
- QT笔记
- QT 笔记
- RCNN 若干问题
- Git远程仓库
- ubuntu 的upgrade 和 update 安装git
- 全栈必备 敏捷估点
- 移动端语音播放以及语音条拖动的实现
- Qt笔记_18
- GIT教程 — 添加远程库的基本步骤和常见问题
- 数据库 char和varchar的总结
- 爬虫学习笔记--爬B站评论
- error: src refspec master does not match any
- Unity实现ui渐变效果
- hdu 2084 数塔(基础dp)
- 由数组未初始化引起PHP脚本出现内存不足 PHP Fatal error: Allowed memory size of
- AC 2017:Alloyteam Web前端大会