//点击按钮弹出对话框
connect(ui->pushButton, &QPushButton::clicked, [=](){
QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/jiao");
//把路径放到lineEdit中
ui->lineEdit->setText(path);
//读取文件
QFile file(path);
file.open(QIODevice::ReadOnly);
QByteArray array = file.readAll();
ui->textEdit->setText(array);
});
默认支持的格式是utf-8
读取其他文件需要使用类QTextCodec
connect(ui->pushButton, &QPushButton::clicked, [=](){ QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/jiao"); //把路径放到lineEdit中 ui->lineEdit->setText(path); QTextCodec * codec = QTextCodec::codecForName("gbk"); //读取文件 QFile file(path); file.open(QIODevice::ReadOnly); QByteArray array = file.readAll(); //ui->textEdit->setText(array); ui->textEdit->setText(codec->toUnicode(array)); });
按行进行读取
while(!file.atEnd)
{
array += file.readLine();
}
可以进行写
file.open(QIODevice::Append);
file.write("//over");
file.close();
文件信息
使用类QFileInfo
QFileInfo info(path);
qDebug() << "大小: " << info.size();
qDebug() << "后缀名:" << info.suffix();
qDebug() << "文件名:" << info.fileName();
qDebug() << "日期" << info.created().toString("yyyy/MM/dd hh:mm:ss");