首页 文章

Java被拒绝删除应该有权删除的文件

提问于
浏览
0

我们正在覆盖Berkeley Community Media上mac guest用户的默认帐户,我正在编写一个Java程序,它将准备默认用户通过Terminal重写 .

要使用该程序,用户必须将编辑后的默认帐户的根目录复制到其桌面或类似程序中,并将该文件路径用作参数 . 程序继续从Library文件夹中删除一堆不必要的文件夹和文件,以便该帐户可以覆盖默认模板 .

该程序在我为测试我的代码而创建的测试文件夹上进行尝试时有效,但是当我尝试在实际帐户文件夹中使用它时(当然在我的桌面上)它会输出“无法删除[名称]”,其中是我写的用于表示失败的file.delete()的println,并且该文件未被删除 .

如果我添加自己的文件并将其添加到要删除的文件列表中,它会起作用,这很奇怪 .

此外,我不确定是什么导致这种情况,但是当我通过Finder删除文件时,它会要求管理员权限,即使我已经读取了写访问权限,并且ls -l看起来像这样:

drwxr-xr-- 12 Sam54123 staff 408 Mar 10 00:21来宾

我不确定那是什么,所以如果有人能够对可以理解的情况有所了解 . 我很确定这是Unix的问题,而不是我的代码 .

1 回答

  • 0

    ls MacOS手册说:

    否则,如果文件或目录具有扩展的安全信息(例如访问控制列表),则-l选项打印的权限字段后跟一个''字符 .

    -e打印与文件关联的访问控制列表(ACL),如果
    在long(-l)输出中存在 .

相关问题