QT系列——读写文本文件
本文主要描述如何使用Qt读写文本文件。Qt提供了Qfile类,主要用于文本文件的读写等操作管理。
下面分别通过读取文件和写文件来分开描述。
读文件
读取文件流程如下图:
- 创建文件对象,指定文件名称。
Qt使用QFile类来打开文本文件,创建对象时,可以直接指定文件名称。
例如:
QFile file("demo.txt");
也可以创建文件对象后,通过函数setFileName再指定。
例如:
QFile file;
file.setFileName("demo.txt");
- 判断文件是否存在
QFile类提供以下函数来判断文件是否已经存在:
bool QFile::exists() const
代码示例:
QFile file("demo.txt");
if(file.exists())
{
qDebug()<<"exists true";
}
else
{
qDebug()<<"exists false";
}
- 打开文件
读取文件前,需要先打开文件。
如果只是读取文件,使用打开模式QIODevice::ReadOnly就可以了。因为读取的是文本文件,打开模式可以设置为QIODevice::Text;
代码示例:
QFile file("demo.txt");
if(file.open(QIODevice::ReadOnly | QIODevice::Text))
{
// 打开成功
}
else
{
// 打开失败
}
- 如果打开文件成功,就可以执行后续读取等步骤;
- 如果打开文件失败,则无法进行后续读取操作。
打开文件失败时,可以通过函数打印出错信息。
Qt提供函数:
QString QIODevice::errorString() const;该函数可以打印出错误信息。
QFileDevice::FileError QFileDevice::error() const; 该函数可以打印出错误码。
- 获取文件内容;
readAll():读取全部文件内容。
readLine():按行读取内容;
返回内容为QByteArray,可以直接转为QString。
- 关闭文件
文档成功打开后,结束操作后,一定要记得关闭文件。
- 结束
读取文件操作结束。
写文件
写文件与读文件逻辑差不多,区别在于打开方式,以及调用写入函数(读取调用读取函数)。
- 写文件在打开文件时,需要设置打开模式与可写模式:QIODevice::WriteOnly;
- 文件写入函数:qint64 QIODevice::write(const QByteArray &byteArray)。
文件写入结束后,一定要记得关闭文件。
其他
Qt也可以通过QFile + QTextSream的方式来读写内容,这里不详细说明啦。
- 点赞
- 收藏
- 关注作者
评论(0)