获取Java中的hosts文件位置
-
27-09-2019 - |
题
我怎样才能获得 hosts文件的位置,用我的应用程序时在不同的平台?
解决方案
认为你将不得不在这里推出自己的我很害怕,因为这是一个相当低的水平系统的功能,我认为这是一个有点出乎你可以期望Java来为你做什么。
此链接指出了一些特殊的选项,你可以设置为改变绑定顺序,我不认为他们会告诉你在hosts文件,但你可以能和周围这些选项的调查,看看是否可以找到任何东西来帮助你。
其他提示
您可以使用“os.name”系统属性来确定操作系统。然后,根据每个操作系统并将其存储检索的hosts文件。例如:
String osName = System.getProperty("os.name").toLowerCase();
File hostsFile;
if (osName.startsWith("mac os x")){
hostFile = new File("/etc/hosts");
} else if (osName.contains("windows")){
hostFile = //...
}
看看每个操作系统和版本上维基百科主机文件位置一>。不幸的是,你将不得不实现类似自己的逻辑迈克尔的回答是:
import java.awt.Desktop;
import java.io.File;
public class HostsFile
{
public static void main(String[] args) throws Exception
{
String osName = System.getProperty("os.name");
File hostsFile = null;
if (osName.contains("Windows"))
{
hostsFile = new File(System.getenv("WinDir")
+ "\\system32\\drivers\\etc\\hosts");
}
Desktop.getDesktop().open(hostsFile);
}
}
不隶属于 StackOverflow