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