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

查看文件信息:

    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();

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值