在判断一个目标路径是否可写时,QFileInfo的isWritable()并不好用,一般我们会基于QFile尝试在目标路径新建一个临时文件,通过判断文件是否创建成功间接判断目标路径是否可写。
如果自己实现这个逻辑,需要做文件打开,关闭,删除等一系列的处理。
我们可以借助QTemproryFile类实现同样的目的.
bool IsDirWritable(const QString& dir)
{
QTemporaryFile testFile(dir+ "\\XXXXXX");
return testFile.open();
}
是不是很简单? 注意,"XXXXXX"并不是随意写的几个字符,具体含义参考QTemporaryFile的说明文档.