2012-10-22 23 views
3

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

在此先感谢。

+0

你试图找出用户/会话权限或目标(文件夹)权限?我知道一些(古怪的)方法来确定位置是否可写... – MadProgrammer

+0

是的,我正在查看目标文件夹权限,以检查它是否可安装。 – javabee

+0

你正在使用哪个操作系统? – Ved

回答

5

有更好的方法在Java 7中实现这一点,看看File I/O (Featuring NIO.2)了解更多详情(特别是Checking a File or Directory,但我不(还)有这个API的经验。

下的Java 6和下面我们不得不做一些箍跳跃(尤其是Windows 7和UAC下)...

您可以使用File#canWrite来检查,看看是否目标路径是可写的,这会,怎么过,返回true在Windows 7下,即使UAC不会让你......对我们的恐怖而言......

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

(注偏执,我们待了两个星期运行测试,以发现问题,并提出了我们可以信任的解决方案)