QT 读取txt文件的几种方法

时间:2021-08-05 12:36:43

废话不说直接上代码

QT 读取txt文件的几种方法

1.

    QString displayString;
QFile file("/home/alvin/text.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug()<<"Can't open the file!"<<endl;
}
while(!file.atEnd())
{
QByteArray line = file.readLine();
QString str(line);
qDebug()<< str;
displayString.append(str);
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString);

2.

    QString displayString;
QFile file("/home/alvin/text.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return; QTextStream in(&file);
QString line = in.readLine(); while (!line.isNull())
{
// process_line(line);
line = in.readLine();
displayString.append(line);
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString);

3.

     QString displayString;
QFile file("/home/alvin/text.txt");
if(!file.open(QIODevice::ReadWrite | QIODevice::Text)) {
qDebug()<<"Can't open the file!"<<endl;
}
QTextStream stream(&file);
QString line_in;
stream.seek(file.size());//将当前读取文件指针移动到文件末尾
int count = 0;
while(count < 10)
{
stream << QObject::trUtf8("新建行:") <<++count<<"/n";
}
stream.seek(0);//将当前读取文件指针移动到文件开始
while( !stream.atEnd())
{
line_in = stream.readLine();
displayString.append(line_in);
qDebug() << line_in;
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString);

以上是三种QT读取文件的方法,

源码在这里自行下载查看

https://pan.baidu.com/s/1pKIwzHL

Txt文件的写入的方法

    QFile f("./test.txt");
if(!f.open(QIODevice::WriteOnly | QIODevice::Text))
{
cout << "Open failed." << endl;
return data;
} QTextStream txtOutput(&f);
QString s1("");
quint32 n1(); txtOutput << QString::fromStdString(str_json) << endl;
txtOutput << n1 << endl; f.close();