文件操作类QFile
QFile
是Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,并且支持文本和二进制文件。
QFile
继承自 QIoDevice
,因此它可以像其他IO设备一样使用
主要功能
文件写入
:QFile支持打开文件进行读取或写入操作。文件信息
:可以检索有关文件信息,如大小、修改日期等。文件操作
:提供了对文件进行重命名、移动、删除等操作的能力。错误处理
:QFile在操作文件时提供了错误处理机制,可以通过相应的函数检查和获取错误信息。
常用方法
open()
:打开一个文件。需要指定模式(如只读、只写、读写等)。close()
:关闭文件。read()
和write()
:用于读取和写入数据。exists()
:检查文件是否存在。remove()
:删除文件。copy()
:复制文件。
代码如下
#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btnRead_clicked()
{
// 1.打开文件
QFile file("D:/test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug() << "flie open error";
}
// QFile file;
// file.setFileName("D:/test.txt");
// 2.读取文件
char context[100] = {'\0'};
if(file.read(context, 100) == -1) return;
// 3.输出文件内容
qDebug() << context;
// 4.关闭
file.close();
}
void Widget::on_btnWrite_clicked()
{
// 1.打开
QFile file("D:/test2.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
// 2.写入
file.write("i see you, 今天下雨");
// 3.关闭
file.close();
}