QFile

QFile 是一个读写文本、二进制文件和资源的 I/O 设备。 QFile 可以自己使用,也可以更方便地与 QTextStream 或 QDataStream 一起使用。
不管操作系统是什么, QFile的文件分隔符都是‘/‘。 更高级的文件系统相关操作由QFileInfoQDir提供,QFile基本用到如下操作:

  • setFileName:设置文件路径
  • exists:文件是否存在
  • remove:删除文件
  • openclose:打开关闭文件
  • flush:刷新文件

使用示例:

  1. void MainWindow::on_open_clicked()
  2. {
  3. //打开文件选择框获取文件路径
  4. QString fileName = QFileDialog::getOpenFileName(this);
  5. file.setFileName(fileName);
  6. //判断文件是否存在
  7. if (!file.exists())
  8. return;
  9. //打开文件
  10. if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
  11. return;
  12. //读取文件内容
  13. ui->myText->setPlainText((file.readAll()));
  14. //设置按钮状态
  15. ui->open->setEnabled(false);
  16. ui->close->setEnabled(true);
  17. //关闭文件
  18. file.close();
  19. }

备注

上面提到的一些文件读写和操作函数都是QT自己封装的。除此之外,我个人觉得更推荐使用操作系统API和标准库中的函数。

  • 操作系统API调用
  • C标准库
  • C++标准库

这样更加通用,并且不用记忆QT的某些特殊类用法。