通过JAVA程序编辑HOSTS时出现“拒绝访问”错误

时间:2015-03-27 17:11:46

标签: java edit access-denied hosts system-administration

获得拒绝访问"访问被拒绝"编辑"主机"时出错文件通过Java程序。 程序需要一个行政特权才能编辑主机文件。

那么是否有任何解决方案为Java程序提供该管理权限,以便它可以编辑主机文件。

**注意** 我正在使用Window 8.1操作系统。 主机文件位置是: C:\ Windows \ System32下\驱动程序\等\主机

1 个答案:

答案 0 :(得分:0)

查看AccessController API:Java Access Controller

但有一件事是肯定的,当用户运行Java程序时,用户必须右键单击并选择“以管理员身份运行”。

另一个选项是你可以读入文件,在内存中进行更改,(文件可以作为字符串读入),然后写出文件来替换HOSTS文件。同样,你肯定需要管理员权限。

快速Google搜索还显示了一个允许您编辑主机文件的程序包的源代码,您可能需要查看它。它仍然肯定需要管理员权限。 Link here

看看这个previous SO question,它可能会给你一些想法。

编写此类程序的主要问题是权限。 Hosts文件是每个操作系统的关键部分,只是在逻辑上它周围有安全层以防止任何随机程序更改主机文件,因此所有这些额外的障碍。