【问题标题】:Java gain read,write,delete permissions from user?Java获得用户的读,写,删除权限?
【发布时间】:2011-06-29 10:34:30
【问题描述】:

您好,我希望我的 java 程序显示一个弹出窗口并获得用户对我的应用程序安装目录的读取、写入、删除文件、文件夹权限,即我的 jar 所在的位置。我该怎么做?

【问题讨论】:

  • 您需要澄清您的问题。 Java 程序将以与用户相同的权限运行,除非它是 Applet,在这种情况下,您需要对其进行签名以获得读取和写入文件的权限。这是哪个平台?
  • @ Mathias Schwarz 它是一个基于 Windows 操作系统的应用程序。所以我应该怎么做。我应该检查并告诉用户您对已安装的文件夹没有所需的权限吗?
  • 是的,如果用户没有写入文件夹的权限,那么这个用户运行的Java程序也没有这个权限。您应该将用户特定的数据存储在用户自己的文件夹中。
  • @Mathias,我认为可能存在您想要检查特定权限的有效用例。例如,一个应用程序可以由管理员安装并由 普通 用户运行,该应用程序可能需要某些目录的权限...
  • @Dennis,您通常应该将用户数据存储在指定文件夹中(Windows 上的“应用程序数据”,mac 上的“应用程序支持”,都在用户的主文件夹下),而不是在,比如说C:\MyApp。

标签: java permissions


【解决方案1】:

我认为上一个问题也回答了你的问题:How do I elevate my UAC permissions from Java?

最好的办法是避免您的应用程序需要管理员权限。

【讨论】:

    【解决方案2】:

    将数据存储到用户的临时文件夹中

    System.getProperty("java.io.tmpdir")
    

    【讨论】:

      猜你喜欢
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 2018-04-13
      • 2011-12-28
      • 2012-05-27
      • 2013-05-10
      • 2017-04-11
      相关资源
      最近更新 更多