QFile 是 Qt 框架中用于文件处理的一个类。它提供了读取和写入文件的功能,支持文本和二进制文 件。
QFile 继承自 QIODevice ,因此它可以像其他IO设备一样使用。
主要功能
- 文件读写: QFile 支持打开文件进行读取或写入操作
- 文件信息:可以检索有关文件的信息,如大小、修改日期等
- 文件操作:提供了对文件进行重命名、移动、删除等操作的能力
- 错误处理: QFile 在操作文件时提供了错误处理机制,可以通过相应的函数检查和获取错误信息。
常用方法:
- open() :打开一个文件。需要指定模式(如只读、只写、读写等)
- close() :关闭文件
- read() 和 write() :用于读取和写入数据
- exists() :检查文件是否存在
- remove() :删除文件
- copy() :复制文件。
读取文件
void Widget::on_btnread_clicked()
{
//1.打开文件
QFile file("C:\\Users\\30624\\Desktop\\zhuochong\\notebook\\test.txt");
if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){
qDebug()<<"file open error!";
}
//或者使用无参构造 QFile file;file.setFileName("readme.txt");
//2.读取文件
int size = file.size();
char* context = new char(size);//根据文件长度读取文件
//qint64 read(char *data, qint64 maxlen);
if(file.read(context,100)==-1){
return;
}
//3.输出文件内容
qDebug()<<context;
//关闭文件
file.close();
}
选择上下文相关帮助可以查看函数返回值,形参等帮助信息
写入文件
void Widget::on_btnwrite_clicked()
{
//1.打开
QFile file("C:\\Users\\30624\\Desktop\\zhuochong\\notebook\\test.txt");
file.open(QIODevice::Append | QIODevice::Text);
//2.写入
file.write("ihihihihihihihihihihihi");
//3.关闭
file.close();
}