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