Qt判断文件类型 QMimeType

前言

通常来说我们判断一个文件的类型是根据后缀名称来的,例如:.txt是文本文件 .exe是二进制文件可执行程序。在程序中需要预设后缀名称,有些时候不太容易把属于某类文件的后缀名写全。比如说图片类型的文件,后缀名可以是.jpg .bmp .png等,甚至有些可能我们没接触过,但也属于图片文件,这个时候 QMimeType就派上用场了,它可以识别文件或者给定数据的类型。

使用方法

QMimeType要配合QMimeDatabase来使用,下面的代码实现了判断文本类型文件,使用了inherits来判断是因为,MIME类型可以相互继承:例如,一个C源文件是一个特定类型的纯文本文件,因此text/x-csrc会继承text/plain。

  QMimeDatabase db;
  QMimeType mime = db.mimeTypeForFile(fileName);
  if (mime.inherits("text/plain")) {
      // 此文件是文本文件
  }

判断文件是否是图片文件,这里使用了name获得类型名称,是因为图片文件都是以image开头。

  QMimeDatabase db;
  QMimeType mime = db.mimeTypeForFile(fileName);
  if (mime.name().startsWith("image/")) {
      // 此文件是图片文件
  }

结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值