// 点击按钮选取文件
connect(ui->pushButton,&QPushButton::clicked,[=](){
ui->textEdit->clear();
QString fileName = QFileDialog::getOpenFileName(this,"选择文件","C:\\Users\\Administrator\\Desktop","文本文件(*.txt)");
if(!fileName.isEmpty()){
ui->lineEdit->setText(fileName);
// 读取文件
QFile file(fileName); // 默认操作的格式为UTF8
// 指定打开方式(只读)
file.open(QIODevice::ReadOnly);
QByteArray array;
// array = file.readAll();
while(!file.atEnd())
array += file.readLine();
ui->textEdit->setText(GetCorrectUnicode(array)); // GetCorrectUnicode是判断文件字符集的自定义函数
/*
while((array = file.readLine())!= NULL){
QString text = GetCorrectUnicode(array);
ui->textEdit->append(text);
}
*/
// 通过QFileInfo读取文件信息
QFileInfo info(fileName);
qDebug()<<"路径: "<<info.filePath()<<"名称: "<<info.fileName()
<<"文件大小: "<<info.size()<<"后缀名: "<<info.suffix();
qDebug()<<"创建日期: "<<info.created().toString("yyyy-MM-dd hh:mm:ss");
qDebug()<<"修改日期: "<<info.lastModified().toString("yyyy/MM/dd hh:mm:ss");
file.close();
// 写文件
// 重新指定打开方式
file.open(QFileDevice::Append);
file.write("小赵来此一游!");
file.close();
}
else {
QMessageBox::warning(this,"打开文件","err: open file");
}
});