使用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版本引入);
或先判断文件是否存在,不存在则不进行文件打开操作。