1.文件的读写
利用QFile读写操作
QFile file(path);
file.open(QIODevice::ReadOnly); 打开方式
读:file.readAll(全部读取), file.readLine
判断是否是结尾 file.AtEnd()
默认支持编码格式utf-8
可以利用编码格式类指定编码格式 QTextCodec
QTextCodec *codec = QTextCodec::codecForName(“GBK”);
ui->textEdit->setText(codec->toUnicode(array)); //转成gbk
关闭file.close
写:file.open(QIODevice::WriteOnly); Append
file.write 写入
#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QFile>
#include <QTextCodec>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//点击选取按钮,弹出文件对话框
connect(ui->pushButton, &QPushButton::clicked, [=](){
QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/haitao/Desktop");
ui->lineEdit->setText(path);
//编码格式类
QTextCodec *codec = QTextCodec::codecForName("GBK");
//读取内容放到 textEdit中
//默认支持格式utf-8
QFile file(path); //参数就是读取文件的路径
//设置打开方式
file.open(QIODevice::ReadOnly);
// QByteArray array = file.readAll();
QByteArray array;
//是否读到文件尾部
while (!file.atEnd())
{
array += file.readLine();
}
// array = file.readLine();
//读取到的数据放到textEdit中
ui->textEdit->setText(array);
// ui->textEdit->setText(codec->toUnicode(array));
//关闭
file.close();
//追加方式写
file.open(QIODevice::Append);
file.write("真不错");
file.close();
});
}
Widget::~Widget()
{
delete ui;
}
2.file文件的信息获取
创建读取QFileInfo
详细使用如下:
#include "widget.h"
#include "ui_widget.h"
#include <QFileDialog>
#include <QFile>
#include <QTextCodec>
#include <QFileInfo>
#include <QDebug>
#include <QDateTime>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
//点击选取按钮,弹出文件对话框
connect(ui->pushButton, &QPushButton::clicked, [=](){
QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/haitao/Desktop");
ui->lineEdit->setText(path);
QFileInfo info(path);
qDebug() << "大小:" << info.size() << "后缀名:" << info.suffix() << "文件名称:" << info.fileName() << "文件路径:" << info.filePath();
qDebug() << "创建日期:" << info.created().toString("yyyy/MM/dd hh:mm:ss");
});
}
Widget::~Widget()
{
delete ui;
}