Qt中如何对文件进行读写

来源:互联网 发布:大数据 企业管理营销 编辑:程序博客网 时间:2024/05/21 22:15
1 widget.h添加头文件
#include <QWidget>
#include <QFile>
#include <QString>
#include <QtCore>
#include <QDebug>
#include <QtGui>
#include <QTextStream>
2 声明 Write 和 Read 函数
void Write(QString filename);
void Read(QString filename);
3 widget.cpp文件里实现函数
void Widget::Write(QString filename)
{
    QFile mFile(filename);
    if(!mFile.open(QFile::WriteOnly|QFile::Text))
    {
        qDebug()<<"cannot open file for write";
        return;
    }
    QTextStream out(&mFile);
    out<<"hello qt";
    mFile.flush();    mFile.close();}void Widget::Read(QString filename){    QFile mFile(filename);    if(!mFile.open(QFile::ReadOnly|QFile::Text))    {        qDebug()<<"cannot open file for read";        return;    }    QTextStream in(&mFile);    QString mText=in.readAll();    qDebug()<<mText;    mFile.flush();    mFile.close();}
4 在widget的构造函数里调用函数
      QString filename="./test.ini";
    Write(filename);  //不存在时,会自动创建并覆盖同名旧文件
    Read(filename);  //文件需存在
5 文件的删除
    QString fileRecord = "/test.ini";
    QFile file;
    file.remove(fileRecord);
6 通过lineEdit写入文件,
    QString text= ui->lineEdit->text();
    QString filename="./test.ini";
    QFile mFile(filename);
    if(mFile.open(QIODevice::Append))     //方式为追加
    {
        QTextStream out(&mFile);
       out<<text;
       out<<"\r\n";  // window换行   Linux下位"\n"
    }
    mFile.flush();
    mFile.close();

7 读取时,不包括"\n"
    QStringList lines;
    QFile file( filename );
    if ( file.open(QFile::Append))
    {
        QTextStream stream( &file );
        QString line;
        while ( !stream.atEnd() )
        {
            line = stream.readLine(); // 不包括“\n”的一行文本
            ui->textEdit->setText(line);
            lines += line;
        }
        file.flush();
        file.close();
    }


                                             
1 0
原创粉丝点击