Qt 第32课、Qt 中的文件操作
创始人
2025-05-28 22:46:20

文本编辑器涉及到文本的保存和文本的读取,所以今天学习 Qt 中的文件操作。

1、Qt 中的 IO 操作

  • Qt 中 IO操作的处理方式
    — Qt 通过统一的接口简化了文本外部设备的操作方式
    — Qt 中的文件被看作一种特殊的外部设备(和Linux类似,一切皆文件)
    — Qt 中的文件操作与外部设备的操作相同

  • IO 操作中的关键函数接口
    在这里插入图片描述
    IO 操作的本质:连续存储的空间中进行数据的读写

  • Qt 中 IO 设备的类型
    — 顺序存取设备(串口编程)
      只能从头开始顺序的读写数据,不能指定数据的读写位置  
    — 随机存取设备(文件存取)
      可以定位到任意的位置进行数据的读写

  • Qt 中 IO 设备的继承层次图
    在这里插入图片描述
    2、Qt 中的文件操作

  • QFile 是 Qt 中用于文件操作的类

  • QFile 对象对应到计算机上的一个文件
    在这里插入图片描述

  • QFileInfo 类用于读取文件属性信息

程序一:

#include 
#include 
#include 
#include 
#include void file_info(QString s)
{QFile file(s);QFileInfo info(file);qDebug() <QFile file(s);if(file.open(QIODevice::WriteOnly | QIODevice::Text)){file.write("D.T.Software\n");file.write("xiebs\n");file.close();}
}void read(QString s)
{QFile file(s);if(file.open(QIODevice::ReadOnly | QIODevice::Text)){QByteArray ba = file.readAll();QString str(ba);qDebug() << str;file.close();}
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);//  write("C:/Users/xiebs/Desktop/new.txt");
//  read("C:/Users/xiebs/Desktop/new.txt");file_info("C:/Users/xiebs/Desktop/new.txt");return a.exec();
}

在这里插入图片描述


  • Qt 中提供了临时文件操作类 QTemporaryFile
    — 安全的创建一个全局唯一的临时文件
    当对象销毁时对应的临时文件被删除
    — 临时文件的打开方式为 QIODevice::ReadWrite
    — 临时文件常用于大数据传递或者进程间通信的场合
    在这里插入图片描述
    不需要指定读写方式,读写方式就是只读只写。

程序二:

#include 
#include 
#include 
#include int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QTemporaryFile tempfile;if(tempfile.open()){tempfile.write("xiebs");tempfile.close();}QFileInfo info(tempfile);qDebug() << info.isFile();qDebug() << info.fileName();qDebug() << info.path();return a.exec();
}

在这里插入图片描述
在这里插入图片描述

小结:
1、Qt 通过统一的方式读写文件和外部设备
2、Qt 中 IO 设备的类型分为顺序存取和随机存取两种
3、QFile 提供了文件操作相关的方法
4、QFileInfo 提供了读取文件属性相关的方法
5、Qt 提供了临时文件操作类 QTemporaryFile

相关内容

热门资讯

阅读的英语作文Reading... 阅读的英语作文Reading 篇一The Importance of ReadingReading ...
优秀英语作文 优秀英语作文(通用34篇)  在日复一日的学习、工作或生活中,大家都尝试过写作文吧,作文一定要做到主...
英语作文范文关于旅游介绍【经... 英语作文范文关于旅游介绍 篇一:Exploring the Natural Beauty of Zh...
兔子的英语作文带翻译 Rab... Rabbit 篇一:The Lovely RabbitRabbits are small mamma...
考研英语一小作文真题与【推荐... 考研英语一小作文真题与 篇一题目:如何提高大学生的英语口语能力大学生英语口语能力的提高一直是一个备受...