QT 读取txt文件的几种方法

 

废话不说直接上代码

QT 读取txt文件的几种方法_第1张图片

1.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

QString displayString;

QFile file("/home/alvin/text.txt");

if(!file.open(QIODevice::ReadOnly | QIODevice::Text))

{

    qDebug()<<"Can't open the file!"<

}

while(!file.atEnd())

{

    QByteArray line = file.readLine();

    QString str(line);

    qDebug()<< str;

    displayString.append(str);

}

   ui->textEdit->clear();

   ui->textEdit->setPlainText(displayString);

 2.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

    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.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

QString displayString;

QFile file("/home/alvin/text.txt");

 if(!file.open(QIODevice::ReadWrite | QIODevice::Text)) {

     qDebug()<<"Can't open the file!"<

 }

 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读取文件的方法,

源码在这里自行下载查看

1

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();

复制代码

 

你可能感兴趣的:(qt)