获得拒绝访问"访问被拒绝"编辑"主机"时出错文件通过Java程序。 程序需要一个行政特权才能编辑主机文件。
那么是否有任何解决方案为Java程序提供该管理权限,以便它可以编辑主机文件。
**注意** 我正在使用Window 8.1操作系统。 主机文件位置是: C:\ Windows \ System32下\驱动程序\等\主机
答案 0 :(得分:0)
查看AccessController API:Java Access Controller
但有一件事是肯定的,当用户运行Java程序时,用户必须右键单击并选择“以管理员身份运行”。另一个选项是你可以读入文件,在内存中进行更改,(文件可以作为字符串读入),然后写出文件来替换HOSTS文件。同样,你肯定需要管理员权限。
快速Google搜索还显示了一个允许您编辑主机文件的程序包的源代码,您可能需要查看它。它仍然肯定需要管理员权限。 Link here
看看这个previous SO question,它可能会给你一些想法。
编写此类程序的主要问题是权限。 Hosts文件是每个操作系统的关键部分,只是在逻辑上它周围有安全层以防止任何随机程序更改主机文件,因此所有这些额外的障碍。