我在阅读文件时遇到问题,具体是我想制作一本小字典。在我需要阅读的文件中有这样的内容:
a Ph P6
a snsr CA
a b c fb Dj
a b c - book i+ BS
A except B gate oOPa y
a font kQ BU
[....]
它有大约 109.000 行,文件只有大约 2MB。在我的 QT 应用程序中,我编写了这样的代码来读取项目并将其添加到 QListWidget:
QString sWord;
QFile inFile("C:\\EV\\ev.index");
inFile.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream in(&inFile);
while(!in.atEnd())
{
sWord = in.readLine();
myListWidget->addItem(sWord); //myListWidget is a QListWidget
}
但是读起来太长了!起初我认为原因是我的应用程序逐行读取,所以我再次编码如下:
QString data;
QStringList listWord;
QFile inFile("C:\\EV\\ev.index");
inFile.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream in(&inFile);
data.append(in.readAll());
listWord.append(data.split('\n'));
myListWidget->addItems(listWord);
inFile.close();
它运行得更快!(应用程序启动后大约 5 秒),仍然很长,我希望它读得更快。我必须做什么?