传智播客:学习视频传送门
本节实现目的:点击“上传文件”按钮,将文件目录放到lineEdit中,并读取文件内容至textEdit框中
添加头文件<QFileDialog><QFile>
connect(ui->pushButton,&QPushButton::clicked,[=](){
QString path = QFileDialog::getOpenFileName(this,"打开文件","D:\\vscode\\python\\yaoshui.txt");
ui->lineEdit->setText(path);
//读取内容
//QFile默认支持的格式utf-8
QFile file(path);
//设置打开方式
file.open(QIODevice::ReadOnly);
QByteArray array = file.readAll(); //读取全部内容
ui->textEdit->setText(array);
});
但是这样只支持utf-8的编码格式,如果需要打开其它编码格式的文件,需要这样做,这里以gbk为例
//编码格式类
QTextCodec * codec = QTextCodec::codecForName("gbk");
...
...
ui->textEdit->setText(codec->toUnicode(array));
写入(如果之前打开文件需要先用file.close()关闭
)
//追加方式写文件
file.open(QIODevice::Append);
file.write("啊这");
file.close();
QFileInfo 文件信息类
头文件<QFileInfo>
- info.size():大小,单位:字节
- info.fileName():名称
- info.suffix():后缀
- info.filePath():路径
- info.created():创建时间,返回类型为QDateTime
- info.lastModified():上次修改时间