【问题标题】:Java file.setReadable(True) not working, even on admin user?Java file.setReadable(True) 不工作,即使是管理员用户?
【发布时间】:2017-05-07 13:54:05
【问题描述】:

我不明白为什么这不起作用 我知道如果您没有权限 setReadable(True) 方法不起作用,但我应该这样做,因为我是管理员用户

顺便说一句,我在 Windows 10 上

谁能帮我解决这个问题?

关于我在做什么的更多背景信息: 我正在开发一个 mod manager 程序,它将文件移动到 steam 目录中,并且可以通过删除文件夹来卸载。它通过将路径记录到文本文件中来跟踪它们,如果需要,它可以从这些文件中读取并删除必要的文件夹。但是每次我尝试删除它们时,由于IO异常而无法删除,我知道这是因为它是只读的,因为我检查了它

【问题讨论】:

  • 您以管理员身份运行程序?
  • @xlxs 是的,即使我以管理员身份运行 eclipse 也无法正常工作
  • 您正在处理什么文件?如果它是一些关键的系统/应用程序文件,您需要 System/TrustedInstaller 权限。
  • 是的,抱歉,我可能应该添加更多上下文
  • 我正在开发一个将文件移动到 steam 目录中的 mod 管理器程序,并且可以通过删除文件夹来卸载。它通过将路径记录到文本文件中来跟踪它们,如果需要,它可以从这些文件中读取并删除必要的文件夹。但是每次我尝试删除它们时,我都不能因为 IO 异常,我知道这是因为它是只读的,因为我检查了它

标签: java windows permissions


【解决方案1】:

试试 (file.setReadable(true, false))。您可以在其中表明您希望为每个人设置权限。

【讨论】:

  • 我将向您展示我所做的一切:(其中 path_list 是路径的数组列表)for(String string: path_list) { System.out.println(string); File file = new File(string); file.setReadable(true, false); System.out.println(file.getName()); System.out.println("readable?: " + Files.isReadable(file.toPath())); FileUtils.forceDelete(file); } 即使我使用 file.setreadable(true,false) 它仍然返回 false 表示可读
猜你喜欢
  • 1970-01-01
  • 2022-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
相关资源
最近更新 更多