栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt -- QFileInfo文件信息读取

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt -- QFileInfo文件信息读取

QFileInfo文件信息读取 QFileInfo 类可读取哪些比较重要的文件信息

1、返回文件的后缀名

2、返回文件名称,不包括路径

3、返回文件路径,不包括文件名

4、返回文件名,包括路径(可能是绝对路径也可能是相对路径)

使用 QFileInfo 类需要包含头文件 #include

代码如下:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include 
#include 

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //点击新建按钮,弹出一个文件对话框
    connect(ui->pushButton,&QPushButton::released,[=](){
        //文件对话框 -- 返回选中文件的文件路径
        QString path = QFileDialog::getOpenFileName(this,"选取文件","/home/chantui/work/resourceFile","Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)");

        //使用文件信息类QFileInfo
        //传入文件路径
        QFileInfo fileinfo(path);
        //1、输出文件的后缀名
        qDebug()<<"文件的后缀名:"< 

运行结果如下:

5、返回文件大小

6、返回文件创建时间、最近一次修改的时间。

文件的创建时间:birthTime() (Windows系统下可用,Linux系统下不可用)

文件的最近一次修改时间:lastModified()

需要注意,当需要返回文件相关时间信息的时候,就需要注意返回值了。还需要包含头文件 #include

当直接用 qDebug() 来输出时,

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include 
#include 
#include 

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //点击新建按钮,弹出一个文件对话框
    connect(ui->pushButton,&QPushButton::released,[=](){
        //文件对话框 -- 返回选中文件的文件路径
        QString path = QFileDialog::getOpenFileName(this,"选取文件","/home/chantui/work/resourceFile","Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)");

        //使用文件信息类QFileInfo
        //传入文件路径
        QFileInfo fileinfo(path);
        //1、输出文件的大小
        qDebug()<<"输出文件的大小:"< 

输出结果如下:

不知道为啥,打印出来的创建日期是无效的。

如果我想要按我指定的日期格式进行输出,那应该怎么做呢?查看帮助文档,我们可以利用 toString() 这个函数。

格式如何进行设置呢?看下面


代码如下,

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include 
#include 
#include 
#include 

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //点击新建按钮,弹出一个文件对话框
    connect(ui->pushButton,&QPushButton::released,[=](){
        //文件对话框 -- 返回选中文件的文件路径
        QString path = QFileDialog::getOpenFileName(this,"选取文件","/home/chantui/work/resourceFile","Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)");

        //使用文件信息类QFileInfo
        //传入文件路径
        QFileInfo fileinfo(path);
        //1、输出文件的大小,单位是字节
        qDebug()<<"输出文件的大小,单位是字节:"< 

运行结果如下:

在 ubuntu 系统中,使用函数 birthTime() 来获取文件的创建时间总是返回无效。

在 ubuntu 系统中,点击文件->属性,也查不到创建时间,只能查看到修改和访问时间。

结论:birthTime() 在 Windows 系统中可以使用,在 Linux 系统中,文件没有创建时间这个信息,(一般只有最近修改时间和最近访问时间,分别对应函数 lastModified 和 lastRead )

而且前面也说了,created 函数已经被弃用了,在代码中也不要使用了。在以后的项目中,当我们在 Linux 系统中想要查看文件时间方面的信息时,不要查看它的创建时间,只查看它的最近修改时间和最近访问时间。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738745.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号