问题
我正在寻找能够满足QFile类中想象的isRemovable()
方法的预期语义的东西。
在QFile
引用中,提到了一个permissions((方法,它返回一组基本上与文件权限相对应的标志QFileDevice::Permission。还有isReadable((和isWritable((,但我如何才能以一种相对可移植的方式确定我可以在不进行实际尝试的情况下删除(删除(文件?
回答
简短的答案和简短的源代码是首选。
如果您有权同时写入文件及其包含目录,则可以删除文件。因此,解决方案(我在Centos Linux上测试过(将是:
QFileInfo fileInfo(filepath);
QFileInfo dirInfo(fileInfo.path());
bool isRemovable = fileInfo.isWritable() && dirInfo.isWritable();