zl程序教程

您现在的位置是:首页 >  其它

当前栏目

QTextStream读取速度相当快

读取 速度
2023-09-14 09:01:42 时间

今天写了个代码读取一个字段文件,其实就是个文本文件(200KB),用了两种方法读取,一种是QFile直接读取,一种是用qtextstream来读取,对比发现qtextstream读取速度起码快了30%,文件越大效率相差越大,看到有个人也做过类似的比对 https://blog.csdn.net/qq_30547073/article/details/78680612
代码如下:

QMap<QString, QString> PinYinX::getResource(const QString &resourceName)
{
    QTime time;
    time.start();

    QMap<QString, QString> map;
    QFile file(resourceName);
    if (file.open(QFile::ReadOnly | QFile::Text)) {
#if 1
        while(!file.atEnd()) {
            QString line = file.readLine();
            line = line.trimmed();
            if (!line.isEmpty()) {
                QStringList list = line.split("=");
                map.insert(list.at(0), list.at(1));
            }
        }
#else
        QTextStream in(&file);
        while (!in.atEnd()) {
            QString line = in.readLine();
            line = line.trimmed();
            if (!line.isEmpty()) {
                QStringList list = line.split("=");
                map.insert(list.at(0), list.at(1));
            }
        }
#endif
        file.close();
    }

    qDebug() << time.elapsed();
    return map;
}