Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法
作者:吓人的猿 时间:2023-06-05 00:06:46
Qt文件操作类QFile简介
Qt中使用QFile类来操作文件的输入/输出。继承至QIODevice,QIODevice类是输入/输出设备的基类,
为设备提供了公共实现和抽象接口用于读写块数据。QIODevice又继承至QObject。
1、使用QFile类打开文件
QFile的构造函数
QFile(const QString &name) //传入一个文件路径
构造完成后,并没有打开文件,需要使用QFile::open函数来打开文件
[virtual] bool QFile::open(OpenMode mode);
/*
*OpenMode mode 打开方式,是一个枚举类型
*QIODevice::NotOpen 不打开
*QIODevice::ReadOnly 只读方式
*QIODevice::WriteOnly 读写方式
*QIODevice::ReadWrite 读写方式
*QIODevice::Append 追加方式
*QIODevice::Truncate 阶段方式
*QIODevice::Text 转换不同平台的换行,读的时候把所有换行转成'\n',写的时候再把'\n'转换对应平台的换行
*QIODevice::Unbuffered 不使用缓冲区
*/
例如:
QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);
2、QFile类关闭文件
[virtual] void QFileDevice::close(); //刷新缓冲区,并关闭文件
3、QFile类文件读操作
QIODevice::read函数
QByteArray QIODevice::read(qint64 maxSize);//读取maxSize个字节,内部位置指针后移maxSize,并返回一个QByteArray对象。
例如:
QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);
qDebug() << file.read(10) << endl;
file.close();
QIODevice::readLine函数
QByteArray QIODevice::readLine(qint64 maxSize = 0) //读取一行,但是这一行不能超过maxSize字节,maxSize = 0代表不限制行字节数。
例如:
QFile file("d:/123.txt");
file.open(QIODevice::ReadOnly);
qDebug() << file.readLine(10) << endl;
file.close();
QIODevice::readAll函数
QByteArray QIODevice::readAll()
4、QFile类文件写操作
QIODevice::write函数
qint64 QIODevice::write(const QByteArray &byteArray); //将byteArray写入文件,写完内部位置指针后移
例如:
QFile file("d:/123.txt");
file.open(QIODevice::ReadWrite | QIODevice::Text); //打开模式可以使用‘|'组合
QByteArray byte("hellworld");
file.write(byte);
file.write(byte);
file.close();
5、QDataStream
流控文件输入输出可以使用QDataStream。
流控写入
#include <QDataStream>
#include <QDebug>
#include <QFile>
int main(int argc, char**argv)
{
QFile file("d:/123.txt");
file.open(QIODevice::ReadWrite);
QDataStream stream(&file);
int a = 10;
QString str = "helloworld";
stream << a << str;
file.close();
return 0;
}
流控读取
#include <QDataStream>
#include <QDebug>
#include <QFile>
int main(int argc, char**argv)
{
QFile file("d:/123.txt");
file.open(QIODevice::ReadWrite);
QDataStream stream(&file);
int a;
QString str;
stream >> a >> str;
qDebug() << "a:" << a << "str:" << str << endl;
file.close();
return 0;
}
本文主要介绍了Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法,更多关于Qt基础开发知识请查看下面的相关链接
来源:https://blog.csdn.net/qq769651718/article/details/79357925
标签:Qt
0
投稿
猜你喜欢
C#文件上传与下载的实现方法
2023-08-19 04:18:50
Android利用ViewDragHelper轻松实现拼图游戏的示例
2022-07-10 08:57:06
C#实现微信分账功能的完整步骤
2022-10-24 17:43:46
Android编程出现Button点击事件无效的解决方法示例
2023-01-22 09:30:41
c# 值类型实例构造器
2023-12-23 16:10:10
Java线程池实现原理总结
2023-04-15 02:37:11
Spring深入探索AOP切面编程
2023-05-27 09:37:16
java 分转元与元转分实现操作
2023-05-13 16:47:22
Java_异常类(错误和异常,两者的区别介绍)
2023-09-19 08:53:27
读取spring配置文件的方法(spring读取资源文件)
2022-10-08 11:24:21
Java信号量Semaphore原理及代码实例
2021-10-02 21:55:08
springboot整合spring-retry的实现示例
2022-01-13 01:25:53
Java并发编程之ReadWriteLock读写锁的操作方法
2023-12-07 20:08:37
一文精通Java中的volatile关键字
2023-11-24 04:17:14
VSCODE+cmake配置C++开发环境的实现步骤
2023-05-31 21:25:14
Android EasyPlayer声音自动停止、恢复,一键静音等功能
2023-01-12 21:16:48
Jenkins节点配置实现原理及过程解析
2023-02-14 11:53:30
Android系统制作自定义签名的例子
2023-02-02 05:10:04
Android编程实现下载时主界面与详细界面一致更新的方法
2023-01-02 10:07:35
Java设计模式中的观察者模式
2021-08-22 01:27:20