我想做类似的事情:
if (!file.canWrite())
throw Exception("Permission denied");
file.mkdirs();
但是,我无法这样做,因为canWrite
仅适用于已存在的文件。有没有办法告诉我是否能够写入文件,如果它存在?
mkdirs
无法创建目录,false
将只返回mkdirs
- 无法解释创建失败的原因。 / p>
此外,while(file.hasParent()){
file = file.parent();
if (!file.canWrite()) throw (..);
}
将创建任意嵌套的文件。所以我需要这样的东西:
{{1}}
保罗指出,我也需要知道umask。
答案 0 :(得分:2)
做同样的事情,但在目录上。目录写入权限指示谁可以和不可以将文件写入该目录。
答案 1 :(得分:2)
您可以先检查文件是否存在:
boolean exists = file.exists();
答案 2 :(得分:1)
您无法测试不存在的内容的权限。但是,您可以进行测试以查看该项是否存在,如果存在,则检查权限。