QT 文件操作

QT提供了QFile类用于文件读写
QFile可以读写文本文件,也可以读写二进制文件
#include "widget.h"
#include <QGridLayout>
#include <QFileDialog>
#include <QFile>
#include <QTextStream>
#include <QMessageBox>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    btn1=new QPushButton();
    btn1->setText("打开文件");
    QGridLayout *lay=new QGridLayout(this);
    lay->addWidget(btn1);
    connect(btn1,SIGNAL(clicked()),this,SLOT(btn_click()));
}

Widget::~Widget()
{

}

void Widget::btn_click()
{
    //打开文件对话框
    QString spath=QFileDialog::getOpenFileName(this,"打开文件");
    QString stext;
    QFile myfile(spath);
    /*只读方式打开文件*/
    if(myfile.open(QFile::ReadOnly))
    {
        /*把这个文件以流的方式读取出来*/
        QTextStream mystream(&myfile);
        while(!mystream.atEnd())
        {
            stext=mystream.readLine();
            QMessageBox::information(this,"文件内容",stext);
        }
        myfile.close();
    }
}
void Widget::btn_click()
{
    QFile myfile("abc.txt");
    /*只写方式打开文件,如果该文件不存在,创建该文件*/
    if(myfile.open(QFile::WriteOnly|QFile::Truncate))
    {
        /*把这个文件以流的方式读取出来*/
        QTextStream mystream(&myfile);
        /*多行文件写入*/
        mystream<<tr("fly on air !
");
        mystream<<tr("fly on air !
");
        myfile.close();
    }
}
原文地址:https://www.cnblogs.com/zhanggaofeng/p/5994625.html