QFileInfo(文件信息)和临时文件

news2025/1/21 8:48:54

QFileInfo提供有关文件在文件系统中的名称和位置(路径),其访问权限以及它是目录还是符号链接等的信息。文件的大小和上次修改/读取时间也可用。QFileInfo还可用于获取有关Qt资源的信息

QFileInfo可以指向具有相对或绝对文件路径的文件。绝对文件路径以目录分隔符“/”开头(或 Windows 上的驱动器规范)

构造函数:

常用函数:

absoluteDir()以QDir对象的形式返回文件的绝对路径
absoluteFilePath()返回文件的绝对路径,绝对路径名由完整路径和文件名组成
absolutePath()返回绝对路径,不包含文件名
baseName()返回不带路径的文件的基本名称

birthTime()

返回创建时间(Qt 5.10)
canoncalFilePath()返回包含文件名的规范路径,即没有符号链接或冗余 “.” 或 “..” 元素的绝对路径
canoncalPath()返回不包含文件名的规范路径,即没有符号链接或冗余 “.” 或 “..” 元素的绝对路径
complteBaseName()返回不带路径的文件的完整基名称(常用)
complteSuffix()返回文件的后缀
dir()返回所在的目录
exist()判断文件是否存在
fileName()返回文件名称不包含路径
filePath()返回文件路径和文件名
isAbsolute()判断是否为绝对路径        
isRelative()判断是否为相对路径
isExecutable()是否可执行
makeAbsolute()将文件路径转化为绝对路径
path()返回文件路径不包括文件名
reFlush()刷新
setFile()设置文件路径
size()文件大小
suffix()后缀
created()创建时间
lastModified()最后修改时间
lastRead()最后读取时间

查看文件信息:

    QFileInfo file("D:/Qt_text/456.txt");
    qDebug()<<"文件名称:"<<file.fileName();
    qDebug()<<"文件路径:"<<file.filePath();
    qDebug()<<"文件大小:"<<file.size();
    qDebug()<<"文件后缀:"<<file.suffix();
    qDebug()<<"文件路径(不含文件名):"<<file.path();
    qDebug()<<"文件所在的目录:"<<file.dir();
    qDebug()<<"文件的绝对路径:"<<file.absoluteFilePath();
    qDebug()<<"文件绝对路径(不含文件名):"<<file.absolutePath();
    qDebug()<<"文件基本名称:"<<file.baseName();
    QDateTime created = file.created();
    QDateTime lastM = file.lastModified();
    QDateTime lasrR = file.lastRead();
    qDebug()<<"文件的创建时间:"<<created.toString("yyyy:MM:dd:hh:mm:ss");
    qDebug()<<"文件的最后修改时间:"<<lastM.toString("yyyy:MM:dd:hh:mm:ss");
    qDebug()<<"文件的最后读取时间:"<<lasrR.toString("yyyy:MM:dd:hh:mm:ss");
    qDebug()<<"文件是否可执行"<<file.isExecutable();
    qDebug()<<"文件是否是绝对路径"<<file.isAbsolute();

 

 QTemporaryFile(临时文件)

 QTemporaryFile用于安全地创建唯一的临时文件。文件本身是通过调用open() 创建的。临时文件的名称保证是唯一的(即,保证您不会覆盖现有文件),并且该文件随后将在QTemporaryFile对象被销毁时被删除。这是一项重要的技术,可避免将数据存储在临时文件中的应用程序的数据损坏。文件名要么是自动生成的,要么是基于模板创建的,模板被传递给QTemporaryFile的构造函数。

构造函数:

 主要函数:

open()打开文件,始终以QIODevice::ReadWirte模式打开
setAutoRemove()设置自动删除
setFileTemplate()设置临时文件的静态文件名(相当于给出一部分文件名)
rename()重命名该临时文件

调用close() 后重新打开 QTemporaryFile 是安全的。只要 QTemporaryFile 对象本身没有被销毁,唯一的临时文件就会存在,并由 QTemporaryFile 在内部保持打开状态

创建一个临时文件:

    QTemporaryFile tfile;
    if(tfile.open())
    {
        tfile.write("123123123");
        tfile.seek(0);//调整操作位置
        qDebug()<<tfile.readAll();//读取一行
        qDebug()<<tfile.size();//获取文件大小
        qDebug()<<tfile.fileName();//获取临时文件名称
    }
    tfile.close();

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FFmpeg实现fmp4+h265 aac切片命令

目录 背景 环境 FFmpeg实现fmp4h265 aac切片命令 使用go创建hls server 使用hls.js demo播放 播放地址&#xff1a;hls.js demo 背景 Chrome在104/105版本后&#xff0c;支持硬解h265&#xff0c;使得hls利用浏览器硬解特性播放h265视频。hls官方要求h265必须使用fmp4格…

Yolov5算法解读

yolov5于2020年由glenn-jocher首次提出&#xff0c;直至今日yolov5仍然在不断进行升级迭代。 Yolov5有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四个版本。文件中&#xff0c;这几个模型的结构基本一样&#xff0c;不同的是depth_multiple模型深度和width_multiple模型宽度这两个参…

[网络] TCP协议中的三次握手是什么?利用3次握手的SYN Flood DDOS攻击知道吗?

文章目录前言术语TCP协议三次握手的由来网络协议里的握手阶段Sequence Number是什么&#xff1f;TCP协议三次握手都发送了什么数据&#xff1f;TCP数据包长什么样&#xff1f;SYN Flood DDOS攻击是什么&#xff1f;结语前言 介于TCP协议中三次握手经常会被问到&#xff0c;以及…

NBA体育决策和数据挖掘分析

业务挑战 体育运用大数据主要体现在以下三个方面&#xff1a; 预测比赛结果和奖牌归属&#xff1b;更好地训练运动员 。数据和模型驱动体育决策让获胜和成功变得更有可能&#xff0c;体育统计(Sports Analytics)成为体育竞争的“杀手锏”。最近我们被客户要求撰写关于体育统计…

鲲鹏devkit性能分析工具介绍(一)

鲲鹏devkit性能分析工具介绍&#xff08;一&#xff09; 鲲鹏性能分析工具由四个子工具组成&#xff0c;分别为&#xff1a;系统性能分析、Java性能分析、系统诊断和调优助手。 系统性能分析是针对基于鲲鹏的服务器的性能分析工具&#xff0c;能收集服务器的处理器硬件、操作…

从2022安洵杯[babyPHP]看Soap+CLRF造成SSRF漏洞

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、PHP SOAP 二、漏洞成因 三、 题目知识准备 1、PHP Session反序列化 2、题目相关函数 四、[LCTF 2018]bestphps revenge 五、2022安洵杯 BabyPHP 前言 …

基于ASP.net的服装商城设计

目录 海秀衣城系统 2 1.概 述 2 1.1 网上购物的发展 2 1.2 三层架构技术简介 2 2. 系统总体设计 4 2.1 开发以及运行环境 4 2.2项目结构分析 4 2.3系统功能总体结构图 5 2.4系统功能结构分解图 5 3. 数据库设计 6 3.1 数据库设计 6 3.2 数据表 7 4. 模块设计 10 4.1 前端功能模…

SpringCloud微服务实践之七 网关(Gateway)

一、网关基本概念 &#xff08;一&#xff09;网关功能 身份认证和权限校验服务路由、负载均衡请求限流 &#xff08;二&#xff09;网关技术选型 SpringCloud提供了两个组件都可以实现网关功能&#xff1a; gatewayzuul 其中&#xff0c;Zuul是基于Servlet的实现&#xff…

SQL注入漏洞 | 数字型

文章目录前言MySQL 数字型前言 SQL注入漏洞 | iwebsec MySQL 数字型 页面观察&#xff1a;测试看回显 注入点判断&#xff1a;发现有sql注入漏洞 AND 可在 where 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立&#xff0c;则 AND 运算符显示一条记录…

HBuilder X实现tabBar底部导航记录

首先&#xff0c;打开uniapp官网&#xff0c;找到tarbar官方文档&#xff0c;仔细阅读&#xff0c;具体位置如下&#xff0c;全局配置下面的pages.json页面路由里面找到tabBar&#xff0c;点击查看&#xff1a; 重点注意这两句话&#xff1a; 找到文档我们就可以按照上面的提示…

迭代器模式(Iterator)

参考&#xff1a; 迭代器设计模式 (refactoringguru.cn) [design-patterns-cpp/Iterator.cpp at master JakubVojvoda/design-patterns-cpp GitHub 文章目录一、什么是迭代器模式&#xff1f;二、实现三、优缺点优点缺点一、什么是迭代器模式&#xff1f; 提供一种方法&…

QFont-使用外部字体文件的问题

我们程序里面定义了某个结构体(这里简单描述为AStruct)&#xff0c;AStruct包含了一个QFont 类型的成员变量&#xff1a; struct AStruct {QFont ft; }; 在具体业务上&#xff0c;AStruct中的QFont会被传递给QPainter去绘制文本。 保存工程/加载工程时时&#xff0…

用Python写个爬虫,赚了!

前言 编程语言排行榜(Tiobe)发布了11月新榜&#xff0c;Python仍领先Java和C&#xff0c;在全球众多的老牌编程语言中&#xff0c;以其他对手无法企及的极高份额稳居榜单第一位。 榜单数据是客观真实的&#xff0c;当下Python的使用者越来越多&#xff0c;已经远超使用其他十…

【Linux初阶】认识冯诺依曼结构

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;计算机的冯诺依曼组成结构、冯诺依曼结构的数据交换特性&#xff0c;以宏观视角理解冯诺依曼下的网络数据传输…

Spring Cloud Alibaba 容器化部署最佳实践 | 本地部署版本详解

环境声明 在运行本地示例之前&#xff0c;需要保证本机具备以下的基础环境&#xff0c;如果您的本地没有当前的环境&#xff0c;下面会一步步进行搭建&#xff0c;演示搭建过程。 Nacos 服务端Seata 服务端RocketMQ 服务端MySQL 服务端 可在国内https://gitee.com/mirrors/S…

低代码在离散制造业的实践

大家上午好&#xff0c;非常感谢明道云给我这个机会&#xff0c;来展示一下这个上海电气在明道云上面的应用。我的题目是《低代码在离散制造业的实践》。 引入明道云的背景 首先介绍一下我们电气数字科技有限公司。它是在2018年的时候&#xff0c;上海电气集团内部成立的数科…

捷码全新快速表单功能解读

在最近的更新中&#xff0c;捷码迎来了比较多的功能上新&#xff0c;其中最受大家关注的是全新的表单功能。无论是从功能丰富度还是操作便利性上都做了大量设计。本文将从重点功能设置操作流程上进行演示说明。 表单控件和关联 ——1对1、1对n、n对n 支持多场景 首先是表单控…

航空货运数据挖掘那些事|航班换季

目录前言航班换季航班换季对航空货运业务有哪些影响参考文献前言 就在上个月月底&#xff0c;即2022年10月29日到2022年10月30日&#xff0c;中国民航完成了2022年的夏秋季航季到2022/23年冬春航季切换工作&#xff0c;俗称航班换季&#xff0c;那么何为航班换季呢&#xff0c…

流媒体传输 - RTMP 协议

RTMP 是 Real Time Messaging Protocol&#xff08;实时消息传输协议&#xff09;的首字母缩写。它是由 Adobe 公司提出的一种应用层的协议&#xff0c;用来解决多媒体数据传输流的多路复用&#xff08;Multiplexing&#xff09;和分包&#xff08;packetizing&#xff09;的问…

氨基苯酚/多巴胺仿生修饰碳纳米管/α-氧化铝/ CNTs-Ag纳米复合材料

小编下面和大家来看间氨基苯酚/多巴胺仿生修饰碳纳米管/α-氧化铝/ CNTs-Ag纳米复合材料的制备&#xff01; 多巴胺仿生修饰材料的研究&#xff1a; 通过表面聚多巴胺层与银离子的螯合作用,通过表面聚多巴胺与银离子的螯合作用,利用葡萄糖作还原剂,在聚多巴胺修饰的聚酯纤维表…