C++中,QT的QFile 类是 Qt 框架中用于文件处理的一个类,它继承自 QIODevice。该类提供了一系列用于文件读写的功能,支持文本和二进制文件的处理。QFile 允许开发者方便地在本地文件系统中创建、读取、写入和操作文件。
主要功能
文件打开与关闭:QFile 可以打开一个文件用于读取、写入或两者都有。文件可以以文本模式或二进制模式打开。
读写操作:提供了对文件的读写方法,包括读取和写入字节或文本。
文件信息:允许获取文件的各种元数据,如大小、修改日期、权限等。
文件操作:除了读写之外,QFile 还提供了对文件的一些高级操作,比如重命名、删除、判断是否存在等。
常用方法
open():打开文件。需要指定打开模式,如只读(QIODevice::ReadOnly)、只写(QIODevice::WriteOnly)、读写(QIODevice::ReadWrite)等。
close():关闭文件。这个方法会释放所有的资源,包括对文件的占用。
read()、write():读取和写入文件的基本方法,可以指定字节数或直接操作字符串。
seek():移动文件内的当前位置,用于随机访问。
atEnd():判断是否已经到达文件的末尾。
remove():删除文件。
void Widget::on_btnRead_clicked()
{
//打开文件
QFile file("D:/c++QT/lessonDemo/noteBookProject/test.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
qDebug()<<"open error";
}
/*第二种打开方式
QFile file;
file.setFileName("D:/c++QT/lessonDemo/noteBookProject/test.txt");*/
//读取文件
int size = file.size();
char *context = new char(size);
//char context[100] = {'\0'};
if(file.read(context,100) == -1){
return;
}
//输出文件内容
qDebug() << context;
//关闭
file.close();
}
void Widget::on_btnWrite_clicked()
{
//打开
QFile file("D:/c++QT/lessonDemo/noteBookProject/test2.txt");
if(!file.open(QIODevice::WriteOnly | QIODevice::Text)){
qDebug()<<"open error";
}
//写入
if(!file.write("pro write")){
return ;
}
//关闭
file.close();
}
ui设计两个按钮,快捷方式转到槽。
学会使用查找手册,找不到就去其父类找。