Qt使用QFile类打开文件
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开发学习资料包、技术视频,内容包括(C 语言基础,C 设计模式,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbkjck
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01