![](https://i-blog.csdnimg.cn/blog_migrate/477d55c776450e6bda871122fd6c4b71.gif)
💪 图像算法工程师,专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《Qt》
![](https://i-blog.csdnimg.cn/blog_migrate/2b1019045acd2aac62b146c8a53cbb4c.gif)
目录
- [一、QFile 文件读写](#一、QFile 文件读写)
-
- [1.1 文本模式读写](#1.1 文本模式读写)
- [二、QFileInfo 获取文件信息](#二、QFileInfo 获取文件信息)
- 三、代码
- 四、总结
在 Qt 中,QFile 用于文件的读写操作,而 QFileInfo 用于获取文件的详细信息。
一、QFile 文件读写
QFile 提供了多种操作文件的方法,包括:
文本模式 和 二进制模式 读写
逐行读取文本
读取整个文件内容
追加写入
1.1 文本模式读写
在本地磁盘中有一个.txt文件,读取.txt文件中内容并显示文件路径和内容,界面设计见下:
![](https://i-blog.csdnimg.cn/direct/bc942eac20a3478e9daf3387ec7f5dc5.png)
在源码文件中添加代码和最终输出见下:
![](https://i-blog.csdnimg.cn/direct/a52d8abd728e46068fce86185711130c.png)
二、QFileInfo 获取文件信息
QFileInfo 用于获取文件的详细信息,如文件路径、大小、创建时间、修改时间等。
在源码文件中添加代码和终端输出见下:
![](https://i-blog.csdnimg.cn/direct/208d18dd5602403e913793586d30fd9c.png)
三、代码
前面第一和第二章节中代码见下:
cpp
#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QFile>
#include <QFileInfo>
#include <QDebug>
#include <QDateTime>
// #include <QTextCodec>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// 点击选取文件按钮,弹出文件对话框
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString path = QFileDialog::getOpenFileName(this,"E:\\code\\Qt\\Demo_17_Qt_QFile");
// 将路径放入到lineEdit中
ui->lineEdit->setText(path);
// 编码格式类
// QTextCodec * codec = QTextCodec::codecForName("gbk");
// 读取内容放入到textEdit中
// QFile默认支持的格式是utr-8
QFile file(path); // 参数就是读取文件的路径
// 设置打开方式
file.open(QIODevice::ReadOnly);
// QByteArray array = file.readAll(); // 将文件中的所有内容读取
// 或者逐行读取文件内容
QByteArray array;
while (!file.atEnd())
{
array += file.readLine(); // 按行读
}
// 将读取到的数据 放入textEdit中
ui->textEdit->setText(array);
// ui->textEdit->setText(codec->toUnicode(array));
// 对文件对象进行关闭
file.close();
// 进行写文件
// file.open(QIODevice::Append); // 用追加方式进行写
// file.write("美滋滋");
// file.close();
// QFileInfo 文件信息类
QFileInfo info(path);
qDebug() << "大小:" << info.size() << "后缀名:"<< info.suffix() << "文件名称:" << info.fileName()<<"文件路径:" << info.filePath();
// qDebug() << "创建日期:" << info.created().toString("yyyy/MM/dd hh:mm:ss"); // created()有问题
qDebug() << "创建日期:" << info.lastModified().toString("yyyy/MM/dd hh:mm:ss");
});
}
Widget::~Widget()
{
delete ui;
}
四、总结
以上就是Qt中QFile文件读写操作和QFileInfo文件信息读取方法,希望能帮到你!
感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖
关注下面「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!