java检查特定位置的管理员权限

时间:2012-10-22 06:02:19

标签: java file-io installer installation

我正在开发一个应用程序,它使用java在本地或远程的特定目录上安装exe文件。无论如何都要检查该远程位置是否具有管理员权限,或者是否是使用java的可安装位置?

提前致谢。

1 个答案:

答案 0 :(得分:5)

有更好的方法可以在Java 7中实现这一点,请查看File I/O (Featuring NIO.2)以获取更多详细信息(特别是Checking a File or Directory,但我(还)没有使用此API的经验。

在Java 6及以下版本中,我们不得不进行一些跳跃(特别是在Windows 7和UAC下)......

您可以使用File#canWrite检查目标路径是否可写,这将在Windows 7下返回true,即使UAC不允许您...令我们恐惧的是......

我们编写了一个简单的实用程序方法,它基本上检查File#canWrite,如果它是真的,它写了一个临时文件,带有一个简单的String并检查它是否存在(File#exists)并且内容是我们写的是相同的。如果有效,那么我们确定可以写信到这个位置......

(注意偏执狂,我们花了两周的时间运行测试来找到问题,并提出了我们可以信赖的解决方案)