QT—文件操作类QFile
QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文件。
QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。
主要功能
. 1文件读写: 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:/QT/test.txt");
QFile file;
file.setFileName("D:/QT/test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
qDebug() << "file open error";
}
//2. 读取文件
char context[100] = {'\0'};
if( file.read(context,100) == -1) return;
//3. 输出文件内容
qDebug() << context;
file.close();
}
void Widget::on_btnWrite_clicked()
{
// 1.打开
QFile file("D:/QT/test2.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
// 2. 写入
file.write("Program 45-QFile001 write something to This File 我是老陈");
// 3. 关闭
file.close();
}