解决QFile找不到路径问题

使用QFile报出”系统找不到指定的路径”错误。虽然QFile能够创建不存在的文件,但是它就是不会自动创建不存在的目录。

1.解决方法

1.1 使用QDir::mkdir创建目录

  • 这里需要注意的是它只能创建一个子目录,如果路径存在多个不存在目录则会创建失败。

    1.2 使用QDir::mkpath创建目录

  • 这个接口功能更强大,QDir::mkpath能创建该目录所需的所有父目录。它解决QDir::mkdir只能创建一个子目录的情况。

2.关于QFile自动创建文件的Flag

Flag 解释
QIODevice::WriteOnly 只写模式
QIODevice::ReadWrite 读写模式
QIODevice::Append 追加模式
QIODevice::NewOnly 文件已存在则失败(5.11版本引入)
  • 如需屏蔽自动创建文件操作则需要这样做:
    QIODevice::ExistingOnly(文件不存在则失败5.11版本引入);
    或先判断文件是否存在,不存在则不进行文件打开操作。