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


    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()最后读取时间

    查看文件信息:

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

     

     QTemporaryFile(临时文件)

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

    构造函数:

     主要函数:

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

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

    创建一个临时文件:

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

     

  • 相关阅读:
    Linux内存管理(三十三):直接内存回收详解
    C语言练习百题之求100之内的素数
    WhatsApp个人号、Business号、API号到底有什么区别
    vw+rem自适应布局
    Docker安装Elasticsearch以及ik分词器
    ViewPager2+TabLayout
    流体力学基础——可压缩性
    偏微分方程的人工智能
    Netty 进阶学习(九)-- 粘包与半包
    ROS系列:第六章 机器人建模
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/128079277