XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


文件

目录

    //点击按钮弹出对话框
    connect(ui->pushButton, &QPushButton::clicked, [=](){
        QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/jiao");

        //把路径放到lineEdit中
        ui->lineEdit->setText(path);

        //读取文件
        QFile file(path);
        file.open(QIODevice::ReadOnly);
        QByteArray array = file.readAll();
        ui->textEdit->setText(array);
    });

默认支持的格式是utf-8

读取其他文件需要使用类QTextCodec

      connect(ui->pushButton, &QPushButton::clicked, [=](){
          QString path = QFileDialog::getOpenFileName(this, "打开文件", "/home/jiao");
  
          //把路径放到lineEdit中
          ui->lineEdit->setText(path);
          QTextCodec * codec = QTextCodec::codecForName("gbk");
          //读取文件
          QFile file(path);
          file.open(QIODevice::ReadOnly);
          QByteArray array = file.readAll();
          //ui->textEdit->setText(array);
          
          ui->textEdit->setText(codec->toUnicode(array));
      });

按行进行读取

while(!file.atEnd)
{
    array += file.readLine();
}

可以进行写

file.open(QIODevice::Append);
file.write("//over");
file.close();

文件信息

使用类QFileInfo

QFileInfo info(path);

qDebug() << "大小: " << info.size();
qDebug() << "后缀名:" << info.suffix();
qDebug() << "文件名:" << info.fileName();
qDebug() << "日期" << info.created().toString("yyyy/MM/dd hh:mm:ss");