- QFile读写文件
- QFileInfo获取文件信息
- QDataStream读写文件
- QTextStream读写文件
- 内存文件QBuffer读写文件
#ifndef WIDGET_H #define WIDGET_H #includewidget.cppnamespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private slots: void on_ReadButton_clicked(); void on_WriteButton_clicked(); //通过文件流读写文件 void writeDate(); void readDate(); //第三种方式通过QTextStream读写文件 void writeDateTextStre(); void readDateTextStre(); //第四种方式通过内存文件QBuffer读写文件 void WriteReadBuffer(); private: Ui::Widget *ui; }; #endif // WIDGET_H
#include "widget.h" #include "ui_widget.h" #include#include #include #include #include #include #include #include //内存文件 #define cout qDebug() << "[" << __FILE__ <<":" << __LINE__ << "]" Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); //第二种方式通过QDataStream读写文件 writeDate(); readDate(); //第三种方式通过QTextStream读写文件 writeDateTextStre(); readDateTextStre(); //第四种方式通过内存文件QBuffer读写文件 WriteReadBuffer(); } Widget::~Widget() { delete ui; } void Widget::on_ReadButton_clicked() { QString path=QFileDialog::getOpenFileName(this, tr("Open File"), "../", tr("Text files (*.txt);;Images (*.png *.xpm *.jpg)")); //路径打开了 if(!path.isEmpty()){ //文件对象 QFile file(path); bool openOk=file.open(QIODevice::ReadOnly); if(openOk){ #if 0 //读文件,默认只识别utf8编码 QByteArray array=file.readAll(); //显示到编辑区 ui->textEdit->setText(array); #endif QByteArray array; while(!file.atEnd()){ //读一行 array+=file.readLine(); } ui->textEdit->setText(array); } file.close(); } //QFileInfo获取文件信息 QFileInfo FileDate(path); qDebug()< textEdit->toPlainText(); //显示中文,转为uft8 QByteArray strArray=str.toUtf8(); file.write(str.toUtf8()); } file.close(); } } //通过文件流读写文件 void Widget::writeDate(){ QString path("../dateTxt.txt"); //qDebug()< >str>>a; //qDebug() << str.toUtf8().data() << a; cout << str.toUtf8().data() << a; file.close(); } } //第三种方式通过QTextStream读写文件 void Widget::writeDateTextStre(){ QString path("../DemoTxt.txt"); //qDebug()< >str>>a; //qDebug() << str.toUtf8().data() << a; cout << str.toUtf8().data() << a; merbuffer.close(); }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)