当前位置: 首页 > article >正文

【Qt】文件操作

文件操作

  • 读写文件
  • 获取文件信息

读写文件

用 QFile 进行文件内容读写的基本操作步骤是:

  1. 调用函数 open() 打开或创建文件;
  2. 用读写函数读写文件内容;
  3. 调用函数 close() 关闭文件
    调用 close() 会将缓存的数据写入文件,如果不能正常调用close(),可能会导致文件数据丢失。

在这里插入图片描述
QFile 的函数 open() 原型定义如下:
bool QFile::open(QIODeviceBase::OpenMode mode)
参数 mode 决定了文件以什么模式打开,mode 是标志类型 QIODeviceBase::OpenMode,它是枚举类型 QIODeviceBase::OpenModeFlag 的枚举值的组合,其个主要枚举值的含义如下。

枚举值功能
QIODevice::ReadOnly以只读模式打开文件,加载文件时使用此模式
QIODevice::WriteOnly以只写模式打开文件,保存文件时使用此模式
QIODevice::ReadWrite以读模式打开文件
QIODevice::Append以添加模式打开文件,新写入文件的数据添加到文件尾部
QIODevice::Truncate以截取模式打开文件,文件原有的内容全部被删除
QIODevice::Text以文本模式打开文件,读取时 “\n” 被自动翻译为一行的结束符,写入时字符串结束符会被自动翻译为系统平台的编码,如 Windows平台上是 “\r\n”

在这里插入图片描述

获取文件信息

QFileInfo 类用于获取文件的各种信息。创建 QFileInfo 对象时可以指定一个文件名使该文件作为当前文件,也可以用函数 setFile() 指定一个文件作为当前文件。常用的两种构造函数定义如下:
QFileInfo(const QFileInfo &fileinfo)  //指定文件名
QFileInfo()            //不指定文件名

QFileInfo 常用接口函数,表中省略了函数参数中的 const 关键字。除了静态函数 exist(),其他都是公共接口函数,接口函数的操作都是针对 QFileInfo 对象的当前文件的。

函数原型功能
void setFile(QString &file)设置一个文件名,使该文件作为QFileInfo对象操作的当前文件
QString absoluteFilePath()返回包含文件名的绝对路径
QString absolutePath()返回绝对路径,不包含文件名
QString absoluteDir()返回绝对路径,返回值是 QDir 类型
QString FileName()返回去除路径的文件名
QString FilePath()返回包含路径的文件名
QString path()返回不含文件名的路径
qint64 size()返回文件大小,单位是字节
QString suffix()返回文件后缀
bool isDir判断当前对象是不是一个目录
bool isFile判断当前对象是不是一个文件
bool isExecutable判断当前文件是不是可执行文件
bool exists()判断文件是否存在
bool exists(QString &file)静态函数,判断 file 表示的文件是否存在

下面的代码就是获取文件的一些常用属性:
在这里插入图片描述


http://www.kler.cn/a/522860.html

相关文章:

  • 快速提升网站收录:内容创作的艺术
  • 如何在Spring Boot项目中高效集成Spring Security
  • 【信息系统项目管理师-选择真题】2010上半年综合知识答案和详解
  • Java基础知识总结(二十七)--Jdk5.0新特性:
  • QModbusTCPClient 服务器断开引起的程序崩溃
  • 【数据结构】_顺序表经典算法OJ(力扣版)
  • 打造专业PPT幻灯片布局的实用策略
  • 深入浅出Linux操作系统大数据定制Shell编程(六)
  • 2000-2020年各省第二产业增加值占GDP比重数据
  • 在线免费快速无痕去除照片海报中的文字logo
  • 【面试】【前端】【微信小程序】微信小程序面试内容总结
  • 动态规划DP 数字三角型模型 方格取数(题目详解+C++代码实现)
  • Vue.js Vuex 模块化管理
  • 软件测试丨从自动化软件测试到自主测试,还差几步?
  • Beautiful Soup 入门指南:从零开始掌握网页解析
  • MySQL 用户相关的操作详解
  • 【深度学习入门_机器学习理论】K近邻法(KNN)
  • LLM推理优化:数据、模型与系统级策略
  • Go语言入门指南(三): 控制结构和循环
  • STM32 按键密码系统的实现
  • 橙河网络:市场调研都会用到哪些工具?
  • 四.2 Redis 五大数据类型/结构的详细说明/详细使用( set 集合数据类型详解和使用)
  • go理论知识——Go Channel 笔记 [特殊字符]
  • BFS算法的实现(例题)
  • 开源物业管理系统赋能社区管理提升居民服务体验与满意度
  • Android源码阅读笔记(二)—— 启动模式