目录

QFile类介绍

写入数据到txt文件(实例代码)

从txt文件中读取所有数据(实例代码)

从txt文件中一行一行读取数据(实例代码)

部分函数参数及作用


QFile类介绍

QIODevice 类是 Qt 中所有 I/O 设备的基础接口类为诸如 QFile、QBuffer 和 QTcpSocket 等支持读/写数据块的设备提供了一个抽象接口。。

QFile类提供一个用于读/写文件的接口,它是一个可以用来读写文本文件、二进制文件和Qt资源的 I/O 设备。

QFile可以单独使用,也可以和QTextStream 或者QDataStream 一起使用。

一个文件使用open()打开,使用close()关闭,使用flush()刷新。

写入数据到txt文件(实例代码)

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::WriteOnly))//以写的方式打开文件,如果文件不存在则创建,qDebug()<<file.errorString();QByteArray buf = "bbbbbbbbbbb";
file.write(buf);//写入文件,支持QByteArray和 char * 类型数据写入file.close();//关闭文件

从txt文件中读取所有数据(实例代码)

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件qDebug()<<file.errorString();QByteArray buf = file.readAll();//读取文件所有数据
qDebug()<<"buf: "<<buf;file.close();//关闭文件

从txt文件中一行一行读取数据(实例代码)

QFile file("C:\\Users\\admin\\Desktop\\test.txt");
if(!file.open(QIODevice::ReadOnly))//以读的方式打开文件qDebug()<<file.errorString();while(file.atEnd() == false)//文件没到末尾就执行循环体内容
{QByteArray buf = file.readLine();//读取一行的数据qDebug()<<buf;
}file.close();//关闭文件

部分函数参数及作用

文件的数据读/写一般使用QDataStream 或者 QTextStream 来完成,不过也可以使用继承自 QIODevice 类的一些函数,如:

QByteArray QIODevice::read(qint64 maxSize)

从设备读取最多最大大小的字节,并返回数据重组

qint64 QIODevice::read(char *data, qint64 maxSize)

从设备读取最多最大大小的字节的数据,并返回读取的字节数

qint64 QIODevice::readLine(char *data, qint64 maxSize)

此函数从设备读取一行 ASCII 字符, 最大最大最大大小为-1 字节, 将字符存储在数据中, 并返回读取的字节数。如果无法读取行, 但没有错误, 则此函数返回0。如果发生错误, 此函数返回可以读取的内容的长度, 如果未读取任何内容, 则返回-1。
readAll() 读取文件所有内容,读取之后将会处于文件的末尾

qint64 QIODevice::write(const char *data, qint64 maxSize)

将数据从数据到设备的最大最大最大大小字节写入设备。返回实际写入的字节数, 如果发生错误, 则返回-1。

qint64 QIODevice::write(const char *data)

将来自8位字符的零终止字符串的数据写入设备。返回实际写入的字节数, 如果发生错误, 则返回-1。

bool QIODevice::getChar(char *c)

从设备读取一个字符, 并将其存储在 c 中。如果 c 为 0, 则该字符将被丢弃。成功时返回 true;否则返回 false。(一次只操作一个字符)

bool QIODevice::putChar(char c)

将字符 c 写入设备。成功时返回 true;否则返回 false。(一次只操作一个字符)

void QIODevice::ungetChar(char c)

将字符 c 放回设备, 并减少当前位置, 除非位置为0。此函数通常被调用为 "撤消" getChar () 操作, 例如在编写回溯分析器时。
如果以前未从设备读取 c, 则该行为未定义。(一次只操作一个字符)

[virtual] qint64 QFile::size() const

获取文件的大小

[virtual] bool QFileDevice::seek(qint64 pos)

定位到文件的任意位置

[virtual] qint64 QFileDevice::pos() const

获取当前的位置

[virtual] bool QFileDevice::atEnd() const

判断是否到达了文件的末尾(如果已达到文件的末尾, 则返回 true。否则返回 false。)

QT 文件操作 QFile相关推荐

  1. C/C++/Qt 文件操作 效率比较

    C/C++/Qt 文件操作 & 效率比较 1 介绍 2 比较结果 2.1 Linux平台上运行程序普遍比Windows上快:Windows下VC编译的程序一般运行比MINGW(MINimal ...

  2. 【转】Qt之文件操作 QFile

    转载:http://blog.csdn.net/liuhongwei123888/article/details/6084761 今天学习QT的文件操作 1.QIODevice 直接继承自QObjec ...

  3. Qt文件操作之文件读写

    QFile类用于文件操作,它提供了读写文件的接口,可以读写文件.二进制文件和Qt资源文件. 处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类.处理临时文件可以使用Q ...

  4. 文件操作QFile和QDataStream

    一.QFlie文件读写 #include<QFile> #include<QFileDialog>//文件对话框 1.读文件 1 QString path = QFileDia ...

  5. Qt QFile文件操作详解

    Qt QFile文件操作详解 很多应用程序都需要具备操作文件的能力,包括对文件内容进行读/写.创建和删除文件等,甚至某些应用程序的诞生纯粹是为了操作文件,比如 WPS Office.PDFedit 等 ...

  6. Qt QAxObject操作excel文件过程总结

    最近由于需要Qt来操作Excel文件,所以想把QAxObject用起来,此次使用也是机缘巧合,记录了一下心路历程. 此前走了很多弯路,希望做同样事情的人就别纠缠于同样的错误就好. 配制方面: 1.确保 ...

  7. C++Qt开发——文件操作

    简介 QT中的IO操作通过统一的接口简化了文件与外部设备的操作方式,QT中文件被当作一种特殊的外部设备,文件操作与外部设备操作相同.IO操作的本质是连续存储空间的数据读写. 1. IO设备的类型 顺序 ...

  8. Qt 文件和文件夹操作

    Qt 文件和文件夹操作 复制文件 设置文件的访问权限 删除文件 删除单个文件 批量删除文件 示例 获取文件信息 批量修改文件名 写文本文件 读文本文件 压缩和解压缩文件 解压 压缩 XML 文件读写 ...

  9. qt上传文件到iis文件服务器,一篇文章快速搞懂Qt文件读写操作

    导读:Qt当中使用QFile类对文件进行读写操作,对文本文件也可以与QTextStream一起使用,这样读写操作会更加简便.QFileInfo可以用来获取文件的信息.QDir可以用于对文件夹进行操作. ...

最新文章

  1. mysql 无法登陆_MySQL root用户无法登录原因及解决办法
  2. AI芯片的过去、现在与未来
  3. 红外发送管的角度特性测试
  4. HTTP和RPC的优缺点
  5. 解决GPU模型训练的随机性
  6. c语言指针实验报告总结,c语言指针实验报告
  7. 新疆出差——特色美食大合集
  8. python计算汉明距离_有效地使用python计算汉明距离
  9. “码农”被黑得最惨的一次,深夜下班被误认为小偷
  10. thinkphp v5.0.11漏洞_ThinkPHP 5.0.x-5.0.23、5.1.x、5.2.x 全版本远程代码执行漏洞分析
  11. 10套高质量Linux教程,放在百度网盘了
  12. 开源软件的版权与许可证
  13. linux修改中国时区
  14. 奇迹服务器gs无响应,奇迹服务端1.03K比较有特色的拓展GS
  15. oracle恢复误删字段,Oracle恢复被误删除存储过程的2种方法
  16. 几类常用Case工具介绍
  17. 互斥事件的概念和公式_互斥事件
  18. 传智播客成都java培训中心7月8号基础班开班啦
  19. 关于华为云的域名认证问题
  20. 前端-表格英文单词不换行问题

热门文章

  1. 风控并行组合模型及其额度定价场景实践
  2. 集合论编程练习 | C++ | 离散数学
  3. Python输出字典的键和值
  4. 【AI名利场·人物】蜜枣网创始人赵小蒙:不惑之年的“大龄梦想者”
  5. 【QML】分享一个纯QML实现的2048小游戏
  6. 何恺明团队12页论文新作剑指AIGC!“新CLIP”只需一个trick,训练速度快3.7倍!性能不降反升...
  7. CLIP-Chinese:中文多模态对比学习预训练模型
  8. (个人搬运 “请认真看完帖子“ )职教星2.8.2可用
  9. Python爬取股票信息,并实现可视化数据
  10. 斐波那契数列c语言实现 每行五个输出