Qt学习之QFile和QFileInfo

Qt5 - QFileInfo 环境:Qt5.12、Windows10QFileInfo类提供与系统无关的文件信息。 阅读详情

        Qt项目中对文件操作是必不可少的。顾名思义:QFile是文件对象类,QFileInfo是文件信息对象类,结合例子我们看一下用法。

       读的文件内容如下,以字符 “#” 或者 “;” 开始的为注释行。

[Extern_Item1]
;名称
Name=libccgext_cvi_64.so

;处理数据的最大线程数,缺省为空:30
DealThreads=32

;数据库最大线程数,缺省为空:10
DBThreads=

;心跳间隔,缺省为空:120秒
HeartInverval=

#参数配置1
LijdGod=

        案例主代码如下,on_pushButton_clicked 函数为 pushButton 按钮设置的槽函数。

#include "widget.h"
#include "ui_widget.h"

#include <QFileDialog>
#include <QRegExp>
#include <QFile>
#include <QFileInfo>
#include <QDebug>
#include <QDateTime>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    // 创建一个QFileDialog对象让用户选择打开文件
    QString file_name = QFileDialog::getOpenFileName(nullptr, "选择文件", ".", "*.ini");
    ui->lineEdit->setText(file_name);

    QFile fileObj(file_name);

    if(!fileObj.open(QIODevice::ReadWrite))
    {
        return;
    }

    // 打印文件属性
    QFileInfo fileInfoObj(fileObj);

    qDebug() << "文件名称:" << fileInfoObj.fileName();
    qDebug() << "文件后缀名:" << fileInfoObj.suffix();
    qDebug() << "文件路径:" << fileInfoObj.filePath();
    qDebug() << "文件大小:" << fileInfoObj.size();
    qDebug() << "文件创建时间:" << (fileInfoObj.created()).toString("yyyy-MM-dd HH:mm:ss");
    qDebug() << "文件最后修改时间:" << fileInfoObj.lastModified().toString("yyyy/MM/dd HH:mm:ss");

    // 文件全部读取
    // QByteArray bArry = fileObj->readAll();
    // ui->textEdit->setText(bArry.data());

    // 设置正则表达式,匹配注释行
    QRegExp *reg = new QRegExp("^(;|#).*");

    QString strFile;

    // 按行读取
    while(!fileObj.atEnd())
    {
        QByteArray bArry = fileObj.readLine();

        // 跳过注释行
        if(!reg->exactMatch(bArry.data()))
        {
            strFile += bArry.data();
        }
    }

    ui->textEdit->setText(strFile);

    fileObj.close();
}

        执行结果如下:

qt QFile文件操作处理,QFileInfo文件信息读取的简单介绍 QFile类用于文件操作,对文件进行读写操作,可读写文件,二进制文件和qt资源文件.处理文本文件和二进制文件可使用QTextStream类和QDataStream类,处理临时文件可以使用QTemporary,获取文件信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher.使用QFileDialog::getOpenFileName()就可以打开一个模态文件对话框,对文件进行选择.选中文件,则返回一个文件名目录.是否为文件isFile(), 阅读详情

相关推荐

一篇文章快速搞懂Qt文件读写操作_qfile readall比实际小一个字节(1)

【代码】一篇文章快速搞懂Qt文件读写操作_qfile readall比实际小一个字节(1)

2401_85013081的博客 610

Qt QFileInfo简介

QFileInfo类提供与系统无关的文件信息,QFileInfo提供了关于文件的名称和在文件系统中的位置(路径)、它的访问权限以及它是目录还是符号链接等信息。文件的大小和最后修改/读取时间也可用。1.如果该对象指向目录或指向目录的符号链接,则返回true;否则返回false。 2.如果该对象指向文件或指向文件的符号链接,则返回true。如果对象指向的不是文件,比如目录,则返回false。 3.如果这是一个“隐藏”文件,则返回true;否则返回false。 4.如果该对象指向符号链接,则返回tru

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 5842

【QT开发】文件信息操作QFileInfo类详解及实战应用

QFileInfo是Qt提供的一个功能强大且灵活的文件信息操作类,通过本篇文章的学习,你应该对QFileInfo有了全面的理解,能够在自己的项目中正确使用它。QFileInfo在用户界面中帮助你更好地管理文件和目录信息,实现交互式和响应式的应用程序,有助于创建用户友好和高效的界面。在文件管理器、日志系统、文件同步工具等场景中,QFileInfo都是一个非常实用的工具。

科技改变人类,技术成就未来 2444

Qt的QFileInfo

QFileInfo是用来获取文件信息的,我们一起来看一下能获取什么,怎么获取这些信息吧!

焕小谢的博客 4735

【AIGC】COT思维链:让AI学会拆解问题,像人一样思考

COT思维链的出现,为AI的发展开辟了一条新的道路。它让AI学会了像人类一样思考,将复杂问题分解成简单的步骤,并逐步推理出最终答案。希望我的引导会对你产生启发。

智兔唯新的博客 9002

Altium Concord Pro 的应用范围,安装,和使用范围

Altium Concord Pro 的应用范围,安装,和使用范围。保证满足两者软件的最低安装要求。 Altium Concord Pro 是配合Digapcb,和MCAD,Altium 和相应机械设计软件的基础和交换桥梁

hanzhaos的博客 1120

qt学习笔记11:QFile文件读写操作、QFileInfo文件信息提取

qt学习笔记11

qq_37299596的博客 1120

Win10安全模式下修改C盘权限的完整指南(附解决开始菜单失灵方案)

本文提供了一份在Win10安全模式下修复因C盘权限误改导致开始菜单失灵的完整指南。文章深入剖析了权限体系,特别是TrustedInstaller角色的重要性,并详细讲解了通过安全模式进入系统、使用ICACLS命令或图形界面精准重置C盘关键目录权限的步骤,最终恢复系统核心功能。

weixin_29250403的博客 234

QT学习——文件操作

主要由 QFile 可以用来读/写文本文件 QFileInfo 获取文件信息 代码理解: QFile file("myfile.txt"); if(!file.open(QIODevice::WriteOnly|QIODevice::Text)) qDebug()<<file.errorString(); file.write("helloQT!\nyafeilinux"); file.close(); //获取文件信息

zzh_AI的博客 380

【七】Hadoop3.3.4基于ubuntu24的分布式集群安装

本次安装实验基于苹果m2芯片的mac系统,使用vmware fusion搭建三台ubuntu24分布式虚拟机,确保在三台机器上安装了Java jdk8,并配置了免密码登录,网络互通,防火墙关闭,授时服务器已经同步。访问apche官网源,下载3.3.4版本,我们用二进制通用版即可,因为hadoop运行在java环境,跨平台性使得无需编译arm架构版本。至此,Hadoop的安装完成,包括hdfs文件存储系统,mapreduce计算框架,yarn资源管理系统均能正常、稳定使用。

qq_31412425的博客 2160

【WPF】渲染失败甚至程序崩溃,D3DImage.Lock卡死,报COMException异常和UCEERR_RENDERTHREADFAILURE消息

最近遇到WPF程序抛出ystem.Runtime.InteropServices.COMException异常,异常消息UCEERR_RENDERTHREADFAILURE (Exception from HRESULT: 0x88980406),或者先在D3DImage.Lock卡死,然后再出异常的问题。 现象和复现方法 出现了标题中的现象,你很可能有至少两个屏幕,并且可能在你的程序中直接或间接用了如下的库或技术: 1、WpfD3D这个开源库 2、自行使用了WPF中的D3DImage类,实现D3D

几罗星人的专栏 8253

2024年最全一篇文章快速搞懂Qt文件读写操作_qfile readall比实际小一个字节,2024年最新Golang研发岗面试复盘总

【代码】2024年最全一篇文章快速搞懂Qt文件读写操作_qfile readall比实际小一个字节,2024年最新Golang研发岗面试复盘总。

2401_84925152的博客 318

手把手教你学Simulink--基于Simulink的微电网用DC-DC变换器仿真建模

微电网概述微电网:包括可再生能源发电设备、储能系统和负载,可以独立于大电网运行,也可以并网运行。重要性提高能源可靠性:通过本地化供电减少对外部电网的依赖。促进可再生能源利用:支持高效整合多种可再生能源。挑战多源管理:不同类型的能源产生方式各异,需设计灵活的电源管理系统。能量转换效率:需要高效的能量转换装置来确保能源的有效利用。通过上述步骤,我们简要介绍了如何基于Simulink进行微电网中DC-DC变换器的仿真建模。

MHD0815的博客 161

QT学习随记 (七)—— QFile文件读写操作以及信息读取

由于工作繁忙,历时两周断断续续的学习也算是完结毕业啦,接下来就可以开始开发Qt啦,祝大家学有所得,如有什么问题还请各位大佬指正。//////////////////////////////////////////////////////////////假装是分割线///////////////////////////////////////////////////////////////////////❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀完结撒花❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀。

CocoBrowniee的博客 2666

【温室气体】GOSAT 数据产品

【温室气体】GOSAT 数据产品

WW、forever的博客 238

AutoSAR系列讲解(入门篇)2.2-SWC的类型

该章讲解了两种SWC的分类,并且映射到实际的工程中应该是具体的什么文件类型

雪云飞星的博客 4万+

c++ Qt5学习笔记 2021-1-21(文件系统QFile、QFileInfo、QDir、QFileSystemWatcher等使用,读取文本显示乱码,QDataStream二进制字节流读写)

文件目录操作相关类: QFile:除了打开文件操作外,QFile还有复制文件、删除文件等功能。 QCoreApplication:用于提取应用程序路径、程序名等文件信息。 QFileInfo:用于提取文件的信息,包括路径、文件名、后缀等。 QDir:用于提取目录或文件信息,获取一个目录下的文件或目录列表,创建或删除目录和文件,文件重命名等操作。 QTemporaryDir和QTemporaryFile:用于创建临时目录和临时文件。 QFileSystemWatcher:文件和目录监听类,监听目录下文件的添加

qq_36780295的博客 1328

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

【QT学习】10.文件操作QFile,打开文件,保存信息QFileInfo,展示文件信息,QDataStream,QTextStream

保存文件,打开文件正常,文件信息展示正常。打开文件,保存信息,展示文件信息。2.三个按钮右键转到槽。

m0_61659911的博客 814

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Qt浅谈之十四:文件操作

一、简介        简介 二、运行图 (1)如下图1所示。 三、详解 1、开始 (1)开始 四、总结 (1)本博文只发布部分源码,读者可根据思路来进行定制。 (2)在不同的系统下可能还会有乱码出现,可修改程序实现,主要当初没考虑到国际化支持。 (3)源码已经打包上传到csdn上可登录下载(http://download.youkuaiyun.com/deta

乌托邦 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

QT学习第七课

QT的文件IO

向着高薪offer,冲锋! 1132

Qt 文件类实战:解锁文件操作的无限可能

Qt 文件类实战:解锁文件操作的无限可能

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1326

嵌入式学习-QT-Day07

在实际开发中,两个线程不可能毫无关系的前提下各干各的 ,最常见的情况是主线程分配一个耗时的任务给子线程,子线程需要把耗时任务的执行情况反馈给主线程。之前说过的数据库就是一种数据持久化的方式,虽然嵌入式使用的SQLite数据库已经是轻量级数据库了,但是相对于其他技术,还是略显冗余。进度条到100时,输出提示框。在默认情况下,Qt的项目是单线程的,这个自带的线程用于处理程序的主要任务和UI交互,也被称为主线程或者UI线程。主线程以外的线程都是子线程,子线程不能执行主线程的ui操作,只能执行耗时操作。

Xiaomo1536的博客 889

QT学习之文件操作

QFile文件操作 读文件 需求 按下按钮会弹出文件对话框,选中相应的文件后会把文件路径放到Line Edit中,文件中的内容会显示在下面的文本框中 Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //点击选取文件对话框,弹出文件对话框 connect(ui->pushButton,&QPushButton::c

weixin_50960004的博客 379

QT学习笔记(文件编程)

cpp复制// 递归子目录} else {文本处理优先使用,简化编码和逐行操作。大文件操作使用QFile分块读写,避免内存溢出。跨平台路径:用代替获取系统分隔符。异常处理:始终检查open()返回值,记录错误日志。性能优化:遍历目录时避免重复获取元数据。

波风水门的博客 583

Qt学习笔记一_qt 如何写 &lt;&lt;

【代码】Qt学习笔记一_qt 如何写 <<

2401_85014224的博客 465

qt--做一个拷贝文件器

在Qt中所有IO都都继承自QIODevice类,QIODevice类中规定了最基础的IO相关接口,这些接口虽然在不同的派生类中可能是实现有区别,但调用方式一致。QFileDialog也继承了QDialog类,直接使用静态成员函数弹窗,弹窗的结果(选择文件的路径)通过函数的返回值获取。需要注意的是,QFileDialog只是一个窗口类,本身不具备任何IO能力。只需要创建出对象后,通过各种成员函数直接获取文件信息。使用线程完善文件拷贝器的操作。主窗口进度条必须能动。1KB=1024字节。

qq_68683005的博客 480
上一篇: Qt学习之定时器
下一篇: 透明代理(NAT)
码农诗人
博客等级 码龄11年 987粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值