qt QFile点击按钮读取文件


    // 点击按钮选取文件
    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");
        }
    });


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM