QFile详解(文件如果不存在则创建、判断文件是否存在、获得文件的各种详细信息、读写文件)

article/2025/8/23 15:12:43

目录

一、QFile文件如果不存在则创建的方法

二、QFile判断文件是否存在的方法

三、QFileInfo的方法获得文件的各种详细信息

四、QFile读写文件的内容 


一、QFile文件如果不存在则创建的方法

    QFile f("./1234.ini");if(!f.open(QIODevice::Append)){return 0;}

open里的打开模式为QIODevice::WriteOnly、QIODevice::ReadWrite、QIODevice::Append这三种的话,文件不存在则会自动创建出一个空文件出来。其他打开模式就不行。已测试。

open打开的几种模式如下:

QIODevice::ReadOnly以只读方式打开文件
QIODevice::WriteOnly只写方式
QIODevice::ReadWrite读写方式
QIODevice::Append追加模式打开,新写入文件的数据添加到文件尾部
QIODevice::Truncate截取方式打开文件,文件原有的内容全部被删除
QIODevice::Text文本方式打开文件,读取时“\n”被自动翻译为换行符

这些取值可以用“|”组合使用,例如 QIODevice::ReadOnly | QIODevice::Text 表示以只读和文本方式打开文件。

二、QFile判断文件是否存在的方法

最准确的用QFileInfo::isFile()来判断
延伸:
b.QFileInfo::isDir()或者QDir::exists()准确判断文件夹
c.QFileInfo::exists()或QFile::exists()判断出来的不管是文件还是文件夹的名字都会出来

三、QFileInfo的方法获得文件的各种详细信息

补充:

 

 

四、QFile读写文件的内容 

    QFile file("./test.xml");if(!file.open(QIODevice::ReadWrite)){return 0;//打开文件失败}//读取文件的所有内容QByteArray array1 = file.readAll();qDebug() << array1;//按行读取while(!file.atEnd()){//方式1QByteArray array2 = file.readLine();qDebug() << array2;//方式2char buf[1024];qint64 lineLength = file.readLine(buf, sizeof(buf));if (lineLength != -1){// the line is available in bufqDebug() << "行" << buf;}//方式三,读取速度相对于上面的会快一点QTextStream in(&file);while (!in.atEnd()) {QString line = in.readLine();        }}/****写入文件****///方式1QByteArray ba1 = "1236546";file.write(ba1);//叠加调用并不会换行//方式2QTextStream aStream(&file); //用文本流读取文件QString str="xsx";//叠加调用并不会换行aStream<< endl << str; //写入文本流,在字符的前面会换行str ="fefre";aStream<< str << endl; //endl起到换行的作用,在字符后面有换行 file.close();

注:有的写入要达到换行的效果时,open的时候要加入QIODevice::Text这种模式.

 


http://chatgpt.dhexx.cn/article/KpYoSnPy.shtml

相关文章

QFile文件读写

文章目录 简介常用apiQFile类读写文件QFileQTextStream读写文件 简介 QFile类提供了一个读取和写入文件的接口&#xff0c;一个读写文本、二进制文件和资源的I/O设备。 QFile读写文件的两种方式&#xff1a; 1.QFile可以单独使用。 2.QFile与QTextStream或QDataStream一起使用…

Qt之Qfile读取文件操作

文件系统&#xff1a;   文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库&#xff0c;提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象&#xff0c;这些设备具有读写字节块的能力。下面是 I/O 设备的类图&#xff08;Qt5&#xff09;&#x…

常用性能测试工具的比较

目录 性能测试的重要性针对接口的性能测试 性能测试基准接口性能测试的主要指标abenchjMeterKelude性能脚本各种监控工具 参考总结 性能测试的重要性 众所周知性能测试在软件测试中占有举足轻重的作用&#xff0c;尤其是对于互联网产品这种具有大用户量&#xff0c;大数据量&a…

推荐几款常用的性能测试工具

“ 对内容不感兴趣拉到最后领取今天的外卖红包。” 常用的性能测试工具 对于开发人员来说&#xff0c;首选是一些开源免费的性能&#xff08;压力&#xff09;测试软件&#xff0c;例如 ab&#xff08;ApacheBench&#xff09;、JMeter 等&#xff1b;对于专业的测试团队来说&…

10款主流的软件测试工具,你用过吗?

随着软件快速交付需求的增长&#xff0c;越来越多的企业开始通过DevOps方法加速软件开发速度但这样的话&#xff0c;有时候就无法保证质量&#xff0c;所以今天小编就来给大家介绍10款主流的软件测试工具&#xff0c;供大家参考。 1、UFT / QTP UFT&#xff0c;前身为Quick …

10款好用的自动化测试工具

&#x1f4cc; 博客主页&#xff1a; 程序员二黑 &#x1f4cc; 专注于软件测试领域相关技术实践和思考&#xff0c;持续分享自动化软件测试开发干货知识&#xff01; &#x1f4cc; 如果你也想学习软件测试&#xff0c;文末卡片有我的交流群&#xff0c;加入我们&#xff0c;一…

常用的软件测试工具大全

开源测试管理工具&#xff1a;Bugfree、Bugzilla、TestLink、mantis 开源功能自动化测试工具&#xff1a;Watir、Selenium、MaxQ、WebInject 开源性能自动化测试工具&#xff1a;Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator **[TestDirector]&…

软件测试工作中有哪些常用的工具?

软件测试工作中有哪些常用的工具&#xff1f;一般来说有开源测试管理工具、开源功能自动化测试工具、开源性能自动化测试工具、Quality Center、QuickTest Professional、LoadRunner等。 一、推荐10款常见的软件测试工具: &#xff08;1&#xff09;Bugfree BugFree是借鉴微软的…

我们常用的软件测试工具有哪些?

一名优秀的软件测试工程师&#xff0c;我觉得他一定也是一名善用工具的好手&#xff0c;他知道在软件测试领域都有哪些测试工具&#xff0c;这些工具都有什么优缺点&#xff0c;这些工具适合在什么情况下使用 &#xff0c;反馈的结果是什么&#xff0c;知道各种工具之间如何配合…

测试工具类

目录 测试接口管理工具&#xff1a; Swagger Eolink APIKit Apipost7  Apifox 自动化测试平台&#xff1a; Choerodon猪齿鱼 MeterSphere RPA 自动化测试框架 Appium Robot Framework Selenium python 自动化测试框架 1.Robot Framework 2.Pytest 3.UnitTest…

软件测试工具有哪些(软件测试常用的工具都有哪些)

一、一个从事软件测试行业十年的老司机列出以下与软件测试相关的工具&#xff1a; 1.操作系统&#xff1a; Linux&#xff1a;vmware、xshell 、xftp 、ssh2.数据库&#xff1a; 主流是以下三种数据库&#xff0c;尤其是MySQL以及oralce,在测试中必会的技能是对表的相关操作&…

软件测试工具都有哪些

小编今天把软件测试常见的工具列了一下&#xff0c;看看有没有你现在在用的&#xff1f; 开源测试管理工具&#xff1a;Bugfree、Bugzilla、TestLink、mantis 开源功能自动化测试工具&#xff1a;Watir、Selenium、MaxQ、WebInject 开源性能自动化测试工具&#xff1a;Jmeter…

10大主流性能测试工具,总有一款适合你

市面上流行的压力/负载/性能测试工具多是来自国外&#xff0c;近年来国内的性能测试工具也如雨后春笋崛起。同时由于开发的目的和侧重点不同&#xff0c;其功能也有很大差异&#xff0c;下面就为您简单介绍10款目前最常见的测试产品。 01 kylinTOP测试与监控平台&#xff08;商…

10个常用的软件测试工具,你不容错过

在现代软件开发中&#xff0c;软件测试是不可或缺的一部分。为了确保软件产品的质量和稳定性&#xff0c;软件测试工具成为了测试团队的得力助手。 有许多优秀的软件测试工具可以帮助测试人员在各种测试活动中提高效率和准确性。 本文将介绍10个常用的软件测试工具&#xff0c;…

Android 实现锚点定位

相信做前端的都做过页面锚点定位的功能&#xff0c;通过<a href"#head"> 去设置页面内锚点定位跳转。 本篇文章就使用tablayout、scrollview来实现android锚点定位的功能。 效果图&#xff1a; 实现思路 1、监听scrollview滑动到的位置&#xff0c;tablayout切…

为什么定位不了HTML,css 锚点定位不了

css 锚点定位不了 css 锚点定位不了只有一个原因&#xff0c;就是书写错误&#xff0c;锚点的正确书写方式有两种&#xff0c;下面为各位介绍一下。 1、使用a标签设置锚点&#xff1a; ①&#xff1a;设置一个锚点链接 html&#xff1b;(注意&#xff1a;href属性的属性值最前面…

vue项目中实现锚点定位

使用场景&#xff1a;当页面被分割成许多小模块&#xff0c;且页面很长时&#xff0c;锚点功能可以帮助我们快速跳转到想要的模块&#xff1b;而当滑动滚动条时&#xff0c;根据当前视图中的显示的模块自动选中对应的锚点。 思路 锚点的id对应模块的元素的id。点击锚点时&#…

Vue3项目中锚点定位实现

代码 <!doctype html> <html class"no-js"><head><meta charset"utf-8"><title>锚点</title><script src"https://unpkg.com/vue3/dist/vue.global.js"></script><link rel"styleshee…

锚点定位——如何设置锚点居页面顶部距离,锚点定位并距离顶部一定偏移

锚点是网页制作中超级链接的一种&#xff0c;又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接&#xff0c;运用相当普遍。 使用命名锚记可以在文档中设置标记&#xff0c;这些标记通常放在文档的特定主题处或顶部。然后可以创建到这些命名锚记的链接&#…

vue中实现锚点定位

vue中实现锚点定位 通过监听滚动事件&#xff0c;高亮显示锚点按钮添加点击事件&#xff0c;根据锚点滚动至对应区域并实现平滑滚动 这里主要是实现了一个简单的滚动触发锚点高亮&#xff0c;以及点击锚点触发滚动的功能 如果是获取浏览器的滚动高度&#xff0c;各个浏览器有所…