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