废话不说直接上代码

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("123");
    quint32 n1(123);

    txtOutput << QString::fromStdString(str_json) << endl;
    txtOutput << n1 << endl;

    f.close();