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 !\r\n");
mystream<<tr("fly on air !\r\n");
myfile.close();
}
}