Qt文件 I/O 操作

这篇具有很好参考价值的文章主要介绍了Qt文件 I/O 操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.QFile

文件读取  QIODevice::ReadOnly    

QString filePath="/home/chenlang/RepUtils/1.txt";
QFile file(filePath);

QDir::currentPath();//获取当前项目文件夹所在路径
  • 逐行读取
    if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        QTextStream in(&file);
        while (!in.atEnd()) {
            QString line = in.readLine();
            qDebug()<<line;
            // 处理每一行数据
        }
        file.close();
    }
  • 逐行写入(文件不存在即自动创建)
QFile file(filePath);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {//只写、Text形式
        QTextStream out(&file);
        for(auto value=route_points.begin();value!=route_points.end();++value)
        {
            out<<"Hello World!"<<endl;
        }
        file.close();
    }
  • 读取全部内容
    if(file.open(QIODevice::ReadOnly))
    {
        QByteArray array =  file.readAll();
        qDebug()<<array.toStdString().c_str();
        file.close();
    }
   
  • 使用流式操作符读取
    if (file.open(QIODevice::ReadOnly)) {
        QTextStream in(&file);
        QString content = in.readAll();
         qDebug()<<content;
        // 处理文件内容
        file.close();
    }

文件写入   

  • QIODevice::ReadWrite   以读写打开
  • QIODevice::WriteOnly    以只写打开
  • QIODevice::Append   以追加的方式打开,新增加的内容将被追加到文件末尾
  • QIODevice::Truncate   以重写的方式打开,在写入新的数据时会将原有 数据全部清除,游标设置在文件开头。
  • QIODevice::Text   在读取时,将行结束符转换成 \n;在写入时,将行结束符转换成本地格式,例如 Win32 平台上是 \r\n

二.QFileInfo

通常用于文件的各种信息。

QFileInfo fileInfo(path);//构造函数指定文件名
fileInfo.setFile(path);//通过函数指定文件名

fileInfo.fileName();//返回去除路径的文件名
fileInfo.filePath();//返回包含路径的文件名

fileInfo.baseName();//返回文件基名,即返回第一个'.'之前的文件名

fileInfo.isDir();//判断当前对象是不是一个文件夹
fileInfo.isFile();//判断当前对象是不是一个文件

fileInfo.exists();//判断当前文件是否存在

三.QDir

进行目录操作的类。文章来源地址https://www.toymoban.com/news/detail-729555.html

    QDir dir(QDir:currentPath());
    QStringList filter;
    QFileInfoList fileInfoList=dir.entryInfoList(filter);
    int fileCount=0,dirCount=0,allCount=0;
    for(auto it:fileInfoList)
    {
        if(it.isFile())
        {
            fileCount++;
            qDebug()<<"file:"<<it.baseName();
        }
        if(it.isDir())
        {
            dirCount++;
            qDebug()<<"dir:"<<it.baseName();//算出结果比实际数量多2
        }
    }
    allCount=fileInfoList.count()-2;
    qDebug()<<"当前文件夹内文件及文件夹数量:"<<allCount;
    qDebug()<"当前文件夹内文件夹数量:"<dirCount;
    qDebug()<"当前文件夹内文件数量:"<<fileCount;

到了这里,关于Qt文件 I/O 操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 「Qt」文件读写操作

            我们知道 C 和 C++ 都提供了文件读写的类库,不过 Qt 也有一套自己的文件读写操作;本文主要介绍 Qt 中进行文件读写操作的类 —— QFile 。         一般的桌面应用程序,当我们想要打开一个文件时,通常会弹出一个文件对话框。在 Qt 中,文件对话框使用 QFileDial

    2024年02月12日
    浏览(40)
  • Qt文件系统操作和文件的读写

    QIODevice:所有输入输出设备的基础类 QFile :用于文件操作和文件数据读写的类 QSaveFile :用于安全保存文件的类 QTemporaryFile :用于创建临时文件的类 QTcpSocket 和 QUdpSocket :分别实现了TCP和UDP的类 QSerialPort :实现串口通信的类 QBluetoothSocket :用于蓝牙通信的类 QProcess :用于启

    2024年02月12日
    浏览(48)
  • 【Qt】Qt中的拖放操作实现——拖放文件以及自定义拖放操作

    文章参考《Qt Creator快速入门(第三版)》。 拖放操作分为拖动Drag和放下Drop,Qt提供了强大的拖放机制,可在帮助文档中通过Drag and Drop查看。 在Qt中,数据拖动时会被存储为MIME类型(Multipurpose Internet Mail Extensions)。Qt提供QMimeData类表示MIME类型的数据,并使用QDrag类完成数

    2023年04月19日
    浏览(56)
  • 十、Qt 操作PDF文件

     《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》 《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》  《七、Qt 信号和槽》  《八、Qt C++ 毕业设计》 《九、Qt C++ 数据库开发》

    2024年01月17日
    浏览(40)
  • 【Qt学习】08:文件读写操作

    文件操作是应用程序必不可少的部分,Qt 作为一个通用开发库提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有 读写字节块 的能力,以下是 I/O 设备的类图: QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;

    2024年02月11日
    浏览(38)
  • QT支持多种开发语言

    QT主要是一个C++应用程序框架,但它也提供了对其他一些编程语言的官方或非官方支持。以下是QT支持的一些语言版本及其特点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Python (PyQt)  : PyQt是QT的官方Python绑定,允许Python开发者使用QT库来创建

    2024年04月29日
    浏览(48)
  • Qt文件 I/O 操作

    逐行读取 逐行写入(文件不存在即自动创建) 读取全部内容 使用流式操作符读取 QIODevice::ReadWrite   以读写打开 QIODevice::WriteOnly    以只写打开 QIODevice::Append    以追加的方式打开,新增加的内容将被追加到文件末尾 QIODevice::Truncate    以重写的方式打开,在写入新的数据

    2024年02月07日
    浏览(29)
  • 十二、Qt 操作PDF文件(2)

    一、在《十、Qt 操作PDF文件-CSDN博客》中我们用Poppler类库打开了PDF文件,并显示到窗体上,但只能显示一页,功能还没完善,在本章节中,加入了: 通过选择框选择PDF文件并打开,默认打开第一页。 通过上一页、下一页按钮实现翻页功能。 通过第一页、最后一页、跳转到某

    2024年01月19日
    浏览(35)
  • C/C++/Qt 文件操作 & 效率比较

    C++文件操作、QT文件操作因为使用了面向对象,具有更好的封装性。 引用 探寻C++最快的读取文件的方案 Linux平台上运行程序普遍比Windows上快。 Windows下VC编译的程序一般运行比MINGW(MINimal Gcc for Windows)快。 VC对cin取消同步与否不敏感,前后效率相同。反过来MINGW则非常敏感,

    2024年02月07日
    浏览(28)
  • Qt 实现压缩文件、文件夹和解压缩操作zip

    通过Qt自带的库来实现,使用多线程方式,通过信号和槽来触发压缩与解压缩,并将压缩和解压缩结果回传过来。 使用的类: 1、在.pro文件中添加模块gui-private 若未cmake工程,需要在CMakeList.txt中添加 待验证: 1、中文路径,文件名含有中文 2、隐藏文件夹,.dir和…dir,例如:

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包