Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Qt基础开发之Qt⽂件操作类QFile读写⽂件的详细⽅法与实例及QDataStream的使⽤⽅法
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基础开发知识请查看下⾯的相关链接。

相关文档
最新文档