当前位置: 首页 > article >正文

QT:文件读取

问题:

在文件读取,判断md5值时,遇到py文件读取转String后,再转byte,md5前后不一致问题。

解决方法:

python文件读取要使用QTextStream,避免\t 、\r、\n的换行符跨平台问题(window系统换行符和linux换行符不一致)。

QTextStream默认帮你处理了换行符跨平台问题。

\r:回到开头   \n:换行

一般读取文件的方式是:

bool xxxxClass::readFile(const QString &filePath,QByteArray &bytes)
{
    QFile file(filePath);
    if(!file.open(QIODevice::ReadOnly)){
        QString msg = tr("Read [%1] faild: %2").arg(file.fileName(),file.errorString());
        qDebug()<<msg;
        return false;
    }
    bytes = file.readAll();
    file.close();
}

但是这样读出来的python文件会有问题,所以python要使用数据流去读取。

bool xxxxClass::readTextFile(const QString &filePath,QString &text)
{
    QFile file(filePath);
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        QString msg = tr("Read [%1] faild: %2").arg(file.fileName(),file.errorString());
        qDebug()<<msg;
        return false;
    }
    QTextStream ts(&file);
    text = ts.readAll();
    file.close();
    return true;
}


http://www.kler.cn/a/586322.html

相关文章:

  • Webpack优化前端性能
  • SQL--算术运算符
  • MATLAB风光柴储微网粒子群算法
  • Unity透视相机下屏幕坐标转世界坐标
  • 目前人工智能的发展,判断10年、20年后的人工智能发展的主要方向,或者带动的主要产业
  • PyTorch多机训练Loss不一致问题排查指南:基于算子级一致性验证
  • TGARS2024 | LGP | 面向目标检测的通用且可控攻击
  • Deepseek-R1 VS QwQ-32B 评测对比:文本理解与生成(2)
  • 计算机网络OSI七层模型
  • 专题|Python梯度提升实例合集:GBM、XGBoost、SMOTE重采样、贝叶斯、逻辑回归、随机森林分析信贷、破产数据...
  • 若依(RuoYi)前后端分离项目前端部署宝塔访问不到接口
  • 鸿蒙 @ohos.arkui.componentSnapshot (组件截图)
  • OpnenHarmony 开源鸿蒙北向开发——1.开发环境搭建(DevEco Studio 5.03)
  • Flutter嵌套问题解决方案
  • 专业的IP干净度检测工具
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 JavaWeb 项目的部署:从开发环境到生产环境
  • 涨薪技术|Kubernetes(k8s)之Pod生命周期(下)
  • 面向神经机器翻译的多语言去噪预训练
  • 力扣 Hot 100 刷题记录 - 对称二叉树
  • C++前缀和