qt读取U盘文件

基于QT5.1.0实现USBCAN-E-U的CAN数据读取开发 QT实现CAN的数据收发 阅读详情
AI摘要

本文介绍如何使用Qt的QStorageInfo类检测并获取U盘路径,进而利用QFile::copy()方法复制U盘中的文件到指定目录。通过遍历所有已挂载的存储设备,筛选出U盘设备并读取其根目录下的文件。

 

程序平台: ubuntu 、  Qt5.5.1

 

之前想做的一个功能是读取U盘中的文件到系统磁盘目录下,今天抽空把简版功能实现了。那会儿一直搜索的Qt如何识别U盘,最终得到的结果是Qt检测U盘插拔,发现并不是我想要的。

在开始前先看下Qt帮助文档的QStorageInfo类。

 

提供有关当前安装的存储和驱动器的信息

 

允许检索有关卷的空间,挂载点,标签和文件系统名称等信息。

 

可以通过将路径作为构造函数参数传递给卷的挂载点来创建QStorageInfo的实例,也可以使用setPath()方法设置它。静态的mountedVolumes()方法可用于获取所有已挂载文件系统的列表。

 

QStorageInfo始终缓存检索到的信息,但可以调用refresh()来使缓存无效。

 

以下示例检索有关系统根卷的最常见信息,并打印有关它的信息。

QStorageInfo storage = QStorageInfo::root();

 

    qDebug() << storage.rootPath();

    if (storage.isReadOnly())

        qDebug() << "isReadOnly:" << storage.isReadOnly();

 

    qDebug() << "name:" << storage.name();

    qDebug() << "fileSystemType:" << storage.fileSystemType();

    qDebug() << "size:" << storage.bytesTotal()/1000/1000 << "MB";

    qDebug() << "availableSize:" << storage.bytesAvailable()/1000/1000 << "MB";

 

总结一下,就是获取磁盘信息的。在读取U盘文件时,主要用到的是获取路径的功能。有了该功能,再结合QFile::copy() 文件,就可以实现复制U盘内文件的功能了。O的K,上码。

 

 

 

 

 

 

 

 

 

 

 

void Widget::on_pbn_identify_clicked()

{

    qDebug() << "----------start----------";

    QString UDiskPath = "";

 

    foreach (const QStorageInfo &storage, QStorageInfo::mountedVolumes())

    {

        if (storage.isValid() && storage.isReady())

        {

            UDiskPath = storage.rootPath();

 

            if(UDiskPath.contains("media"))

            {

                qDebug() << "qstring path:" << UDiskPath;

 

                QString fileName = QString("%1%2").arg(UDiskPath).arg("/test.txt");

                qDebug() << "path:------"<<fileName;

 

                QString newFileName = "/root/Desktop/test/dh";

                bool ok = QFile::copy(fileName, newFileName);

                qDebug() << "isOk" << ok;

 

            }

        }

    }

}

 

程序很少,所以实现的功能也很单一。如果除去文件的来源是从U盘,这就像是一个复制文件的功能。

遍历所有磁盘,由于我只想要U盘中的文件,而U盘中的所属的磁盘是media。之后是获取路径添加文件的名称,再结合QFile的 Copy功能,就这样。

下面是测试文件的目录以及结果截图。

 

U盘中的测试文件。 

磁盘目录。

Qt打印结果。

复制文件结果。

 

 

大家如果觉得有帮助,欢迎大家关注公众号,一起交流,一起进步。

 

 

微信扫一扫
关注该公众号

Qt读取U盘文件内容 需要注意的是,读取U盘文件之前,需要确保U盘已经正确地挂载到系统中,并且具有读取权限。另外,Qt应用程序需要在运行时具有访问U盘的权限。在Qt中,我们可以使用QFile类来读取U盘中的文件内容。QFile类提供了一种方便的方式来读取和写入文件。然后,我们可以使用QFile类的成员函数来打开文件并读取内容。以上是使用Qt读取U盘文件内容的简单示例代码。在上面的示例代码中,我们首先指定了U盘中的文件路径,你需要将。对象,它提供了方便的方式来逐行读取文本文件。函数,我们可以逐行读取文件内容,并将每一行存储在。 阅读详情

相关推荐

linux下检测U盘挂载成功demo

检测U盘是否挂载成功c语言实现,检测时间5s,通过打开路径,写入和读取同一文件实现

Arm平台 Qt检测U盘插拔(三)-----蛋疼的recv()阻塞

因为最终要在tiny210上实现此功能,最终选择了hotplug。 http://hi.baidu.com/hdy5200075/item/7751f48647f3d12a100ef3f6这里是hotplug检测U盘的源码,我在qt里将其写到一个hostplug.h文件里。 #ifndef HOSTPLUG_H #define HOSTPLUG_H #include &lt;iost...

分享技术干货和灵感 926

QT界面,Linux下C语言来检测USB设备以及自动区分U盘和硬盘(点击系统设置,点击格式化并没有真正格式化,可以实现区分功能!)

Linux下C语言来检测USB设备以及自动区分U盘和硬盘(点击系统设置,点击格式化并没有真正格式化,可以实现区分功能!

记录linux使用QT检测U盘的方式

QT检测u盘的方式

weixin_43865793的博客 1777

qt检测U盘 windows平台下

在windows下,利用qt检测U盘相对方便点。通过检测Widget::winEvent(MSG *msg, long *result),当pc上有U盘插拔时,会自动触发这个函数。通过检测此消息是否是WM_DEVICECHANGE就可以了!遗憾的是这么简单的方法只能用在windows下。

STM32+EC800M-CN 4G模块数据透传踩坑实录:从AT指令调试到花生壳内网穿透

本文详细介绍了STM32与移远EC800M-CN 4G模块的数据透传实现过程,包括硬件连接、AT指令调试、TCP连接建立以及花生壳内网穿透配置。通过实战案例和代码示例,帮助开发者快速解决4G通信模块在物联网应用中的常见问题,提升数据传输稳定性。

weixin_42715608的博客 322

qt linux不能读写u盘文件,Qt读取U盘文件内容

欢迎大家关注、收藏,方便下次阅读!之前想做的一个功能是读取U盘中的文件到系统磁盘目录下,今天抽空把简版功能实现了。那会儿一直搜索的Qt如何识别U盘,最终得到的结果是Qt检测U盘插拔,发现并不是我想要的。程序平台 Ubuntu、Qt 5.5.1在开始前先看下Qt帮助文档的QStorageInfo类。提供有关当前安装的存储和驱动器的信息允许检索有关卷的空间,挂载点,标签和文件系统名称等信息。可以通过将...

weixin_28783937的博客 1347

doris2.1.8连接报错ERROR 1203 (42000): Reach limit of connections解决办法

摘要:客户Doris数据库报错"ERROR 1203 (42000): Reach limit of connections"的解决过程。发现AI提供的解决方案存在错误:1)查询命令应为SHOW FRONTEND CONFIG而非show variables;2)参数名称应为qe_max_connection而非max_connections。正确解决步骤:1)用admin账户登录查看连接数限制和当前连接数;2)通过SHOW PROPERTY命令检查用户资源限制;3)针对不同情况修改参数

Brent的专栏 1762

windows下插入u盘怎么使用qt进行读取_U盘防拷贝权限怎么设置 保护U盘文件防止被泄密...

U盘防拷贝权限怎么设置 保护U盘文件防止被拷贝?当U盘中保存有重要的公司文件时,我们往往希望特定的人员可以对其进行编辑操作,同时也防止因U盘丢失造成的文件泄密问题,接下来就与大家分享一下有关U盘文件保护防止被删除的具体方法,希望能帮助大家。方法/步骤1针对U盘访问权限管理,我们可以借助组策略来实现。如图所示,就是通过Windows组策略所提供的针对U盘的读取权限功能来实现。通过在”命令提示符“界面...

weixin_39617006的博客 751

手把手教你用Arduino IDE玩转ESP32-S3-wroom(附串口调试技巧)

本文详细介绍了如何在Arduino IDE环境下配置和使用ESP32-S3-WROOM模块,包括开发环境搭建、硬件连接、程序烧录及高级调试技巧。通过实战步骤和常见问题解决方案,帮助开发者快速上手这一高性能Wi-Fi/蓝牙双模模组,提升物联网开发效率。

weixin_30487201的博客 293

HFSS 3D LAOUT PCB 裁剪,差分线,过孔仿真和优化

我本身不是做天线设计的,所以HFSS这个软件给我主要还是做PCB级别的高速信号完整性仿真,一般2.5D的仿真软件无法对过孔和跨平面进行仿真。所以要借助三维电磁软件进行。今天就针对PCB进行裁剪。为什么要裁剪?以为如果把整个PCB一起仿真的话,应该要好几个月吧。所以为了加快仿真速度,必须进行裁剪仿真。①candence的PCB可以直接导入。那么先导入brd文件,file-import-candence结果如下②点击cutout,选中要仿真的net和参考平面。这里最好选creat new不然会把原文件覆盖掉。注

gjatwfn的专栏 1万+

QT:当前界面截图导出及文件传输功能开发

void VolCurvePage::export_button_clicked() { bool is_mounted = false; struct mntent *ent; FILE *aFile; //check the usb media exist aFile = setmntent("/proc/mounts", "r"); if ...

xikangsoon的博客 412

当图像配准遇见边缘计算:低功耗设备的优化实践

本文探讨了在边缘计算环境下优化图像配准技术的实践方法,重点解决低功耗设备如树莓派和Jetson Nano上的算力瓶颈问题。通过算法轻量化、硬件加速和内存优化等策略,实现了毫秒级图像配准,适用于智能安防、移动医疗等实时性要求高的场景。

weixin_29054195的博客 388

PhotoRec 开源数据恢复工具:如何从硬盘、U 盘和 SD 卡中找回丢失文件

PhotoRec 是一款与 TestDisk 同属一个套件的开源文件恢复工具,它不依赖文件系统,而是通过比对文件签名(即每种文件开头特有的"指纹"数据)直接扫描磁盘扇区,能够找回照片、视频、文档、压缩包等 480 多种格式的文件。它可在 Windows、Linux 和 BSD 系统上运行,遵循 GNU GPL 许可,免费使用。当文件被误删、存储介质被格式化、或文件系统损坏导致无法读取时,都可以用它

gitblog_00445的博客 146

【图像检测】基于MATLAB的火灾监测系统设计

1 简介 针对传统火灾监测系统对于大空间的室内场合和开阔的室外环境易失效的问题,提出了一种结合火灾火焰特征和烟雾特征来进行判断的数字图像型火灾监测算法.火焰颜色特征是基于RGB颜色模型中的R,G,B三基色分量和它们之间的关系来判断是否有火焰发生,烟雾模型特征是图像灰度化预处理后,基于HIS空间模型提取的,通过计算像素点与基准像素点之间距离D的大小来判断是否有火灾发生.对提出的算法进行MATLAB仿真,并和传统的基于五种算子的边缘检测算法提取火焰烟雾特征进行对比.实验结果表明,提出的火焰特征和烟雾特征提取算

qq_59747472的博客 2797

一篇文章足够你学习Bluez,提供史上最全的Bluez教程,让你告别Bluez从入门到放弃

Bluez是真的难,说“入门到放弃”真的毫不夸张,Bluez的学习曲线陡峭,要求对Linux 系统/驱动概念、D-Bus 通信和蓝牙协议都有要求,加上网络上其实没有一个完整的介绍Bluez系列的文档,所以不管是蓝牙初学者还是蓝牙从业人员,都有不小的难度。

朝气蓬勃 2539

Linux(Ubuntu)下QT检测U盘插入状态与实时热插拔检测

QT嵌入式Linux下U盘的插拔检测

zhenglongdehao的博客 1974

YOLO26涨点改进 | 全网独家创新,注意力改进篇 | TGRS 2025 | 引入APCM自适应像素级协同机制,动态增强目标区域、抑制背景噪声,助力YOLO26做红外小目标检测有效涨点

本文提出一种基于APCM模块改进的YOLO26网络模型,通过像素级局部-全局协同建模动态增强目标特征并抑制背景噪声。APCM模块采用轻量化设计,无需复杂参数,在特征提取阶段有效提升目标区域特征表达质量,尤其适用于低对比度和复杂场景下的目标检测。实验表明,该方法能显著提高小目标检测精度和模型鲁棒性,同时保持较低计算开销。模块通过局部特征分支和全局特征分支的协同融合,实现了对红外小目标的有效增强,在NUAA-SIRST和IRSTD-1K数据集上性能优于现有方法。文章还提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 190

linux qt操作设备文件,c – 如何在Linux上使用Qt读取HID设备(/ dev / hidrawX)?

我正在开发一种’RepRap校准工具’,它可以使用连接到打印平台的鼠标来测量平台的运动.现在我一直试图从/ dev / hidrawX读取原始鼠标数据,但我无法读取任何数据.到目前为止,我已经尝试过:第一次尝试:QFile f("/dev/hidraw0");f.readAll();什么都不读.第二次尝试:m_file = new QFile("/dev/hidraw0");m_sn= new Q...

weixin_29740025的博客 899

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

正点原子linux 使用QT 自动检测u盘插拔并寻找特定文件

笔者刚解决完这个问题,前期有些忘了,一点一点回忆。会慢慢更新。

silent_dusbin的博客 3220

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

qt检测U盘windows平台下资源文件:实时监测U盘插拔状态

qt检测U盘windows平台下资源文件:实时监测U盘插拔状态 去发现同类优质开源项目:https://gitcode.com/ 在现代软件开发中,实时监测外部设备的连接状态变得愈发重要。本文将为您详细介绍一款开源项目——qt检测U盘windows平台下资源文件,该项目可以帮助开发者在Windows平台下利用Qt框架轻松实现U盘插拔的自动检测功能。 项目介绍 qt检测U盘windows平台下资源文...

gitblog_06727的博客 897

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Qt读取Json文件(含源码+注释)

一、示例Json文件内容 下方为本文所使用的Json文件的内容,其中包含字符串、数值、布尔、null、对象、数组、组合类型等(读取方式在本文第三节) { "str": "strVal", "number": 88, "bool": true, "null": null, "object": { "key1": "Val1", "key2": "Val2", "key3": "Val3" }, "array": [ "elem1", "elem2", "elem3",

lw的博客 1万+

linux qt检测u盘热插拔,【QT】动态监测U盘插拔

前言在项目中,遇到一个需求:需要动态监测U盘插入,自动读取U盘文件并打开。为了实现这个功能,我们可以使用RegisterDeviceNotification注册设备事件的通知,然后在程序中处理WM_DEVICECHANGE消息来实现步骤RegisterDeviceNotification注册设备事件的通知在QWidget中重新实现它的nativeEvent函数来接收处理WM_DEVICECHANG...

weixin_31241561的博客 1382

QT5.9 dat文件数据存储与读取

QT5.9 dat文件数据存储与读取 最近工作需要将Can报文中部分数据提取出来,并存到dat文件(因为dat文件体积小),当需要数据分析的时候再从dat文件中提取出来,考虑到dat只能存二进制数据,使用QBytearray数据格式进行存储读取 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdo

夜初晓 1万+

QT 多组数据dat文件写入读取操作

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

夜初晓 7680

windows下插入u盘怎么使用qt进行读取_防火防水3合1多功能手机U盘,机械师U盘对比测评...

U盘是再常见不过的储存设备,办公、学习等各种环境都会有使用到他的需要,U盘作为日常数据传递的重要媒介,读写效率是我们非常关心的问题。但更重要的是它的稳定可靠性,毕竟U盘有价数据无价。所以今天就给大家对比测评2款,网上销量比较高也比较知名的手机U盘,支持电脑、手机同时使用,其中一款U盘具备防高温、防水的特性。 一、外观包装设计机械师U盘的包装使用了一种“礼物盒”的设计,显得精致,格调也比较高。其他品...

weixin_39897449的博客 299
上一篇: ubuntu / windows QScintilla下载与编译
下一篇: 停止、暂停和恢复python解释器
Pou光明
博客等级 码龄12年 3701粉丝 398原创
评论 14
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值