QT -- 文件操作 QFile
QFile简介
继承自QIODevice
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 类的一些函数,如:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!