// 點擊按鈕選取文件
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");
}
});