Qt(基础2)

QFile

读文件

点击按钮弹出界面将选择读取的文件内容读取到textEdit中

#include <QFile>
#include <QFileDialog>
void MainWindow::on_buttonRead_clicked()
{
    QString path = QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)");//最后一个参数可写可不写,指定打开文件的类型
    if(path.isEmpty()==false){
        QFile file(path);//文件对象
        bool isOK=file.open(QIODevice::ReadOnly);//以只读的方式打开
        if(isOK == true){
#if 0  //全部读
            QByteArray array = file.readAll();//读取文件全部内容
            ui->textEdit->setText(array);//将文件内容显示到textEdit中
#endif
        //按行读
            QByteArray array;
            while(file.atEnd()==false){
                array += file.readLine();
            }
            ui->textEdit->setText(array);
        }
        file.close();
    }
}

写文件

点击按钮将textEdit的内容写到指定文件中

void MainWindow::on_buttonWrite_clicked()
{
     QString path = QFileDialog::getSaveFileName(this,"save","../","TXT(*.txt)");
     if(path.isEmpty()==false){
         QFile file;
         file.setFileName(path);
         bool isOK= file.open(QIODevice::WriteOnly);//以写的方式打开
         if(isOK== true){
             QString str = ui->textEdit->toPlainText();//获取编辑框内容
             file.write(str.toUtf8());
         }
         file.close();
     }
}

QFileInfo

获取文件信息

QFileInfo info(path);
info.fileName().toUtf8().data();//文件名字
info.suffix();//文件后缀
info.size();//文件大小
info.created().toString("yyyy-MM-dd hh:mm:ss")//创建文件的时间2019-08-31 10:31:00(#include <QDateTime>)

注: QByteArray转为QString的方式为强制转换


   转载规则


《Qt(基础2)》 fightingtree 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录