QFile 对文件进行读写操作
QFile 对文件进行读写操作
1 QFile 进行读写操纵
2 QFile file(pah ) 文件路径
3 读 file.open(打开方式) file.readAll(). file.readLine(); atEnd() 默认读取上utf8
利用编码格式类 指定读取格式 QTextCodec QTestCodec *code = QTextCodec::codeForName("gbk");
ui->textEdit->setText(code->toUnicode(array));
关闭文件对象 close
4 写文件 file.open() file.write() file.close();
5 读取文件信息 QFileInfo fInfo(path);
#include "widget.h" #include "ui_widget.h" #include<QFile> #include<QFileDialog> #include<QTextCodec> #include<QFileInfo> #include<QDebug> #include<QDateTime> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //编码格式的设定 QTextCodec *code = QTextCodec::codecForName("gbk"); //点击按钮弹出文件对话框 connect(ui->pushButton,&QPushButton::clicked,[=](){ QString path = QFileDialog::getOpenFileName(this,"open file","/Users/libin/qtProject/qtFile"); //将路径放入lineEdit ui->lineEdit->setText(path); QFile file(path); file.open(QIODevice::ReadOnly); //默认支持的上utf-8 QByteArray array; //全部读取 //array = file.readAll(); while(!file.atEnd()){ //按行读取 array+=file.readLine(); } //默认utf-8 //ui->textEdit->setText(array); //如果读取的gbk ui->textEdit->setText(code->toUnicode(array)); file.close(); //写文件 file.open(QIODevice::Append); file.write(";;;;;;;;;"); file.close(); //文件信息 QFileInfo fInfo(path); qDebug()<<"文件大小:"<<fInfo.size()<<"文件名称:"<<fInfo.fileName()<<"."<<fInfo.suffix(); qDebug()<<"创建日期"<<fInfo.created().toString("yyyy-MM-dd:hh:mm:ss"); qDebug()<<"改变日期"<<fInfo.lastModified().toString("yyyy-MM-dd:hh:mm:ss"); }); } Widget::~Widget() { delete ui; }