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基础开发知识请查看下面的相关链接

—-想了解Qt基础开发之Qt文件操作类QFile读写文件的详细方法与实例及QDataStream的使用方法分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/484253.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐