如何判断我是否有权使用Qt5删除文件而不实际尝试删除它?

时间:2014-05-19 08:26:50

标签: file qt5 file-permissions

问题

我正在寻找能够满足QFile类中想象isRemovable()方法的预期语义的东西。

QFile引用中,提到了一个permissions()方法,它返回一组标志QFileDevice::Permission,基本上对应于文件权限。还有isReadable()isWritable(),但我怎么能以相对便携的方式确定我能够在不实际尝试的情况下删除(删除)文件?

答案

首选短而简单的源代码的简短答案。

1 个答案:

答案 0 :(得分:1)

如果您有权将文件写入文件及其包含目录,则可以删除文件。因此,解决方案(我在Centos Linux上测试过)将是:

QFileInfo fileInfo(filepath);
QFileInfo dirInfo(fileInfo.path());
bool isRemovable = fileInfo.isWritable() && dirInfo.isWritable();