从java获取接口名

从java获取接口名,java,networking,centos,network-interface,Java,Networking,Centos,Network Interface,我的操作系统是CentOS 6。在我的/etc/sysconfig/networkscripts/ifcfg-eth0文件中,我已经将网络接口“NAME”指定为“foo”(让我们假设一下) NAME=foo 我希望能够从java获得接口“NAME”。我尝试了以下方法,但没有结果: for (Enumeration nis = NetworkInterface.getNetworkInterfaces(); nis.hasMoreElements();) { Netw

我的操作系统是CentOS 6。在我的/etc/sysconfig/networkscripts/ifcfg-eth0文件中,我已经将网络接口
“NAME”
指定为
“foo”
(让我们假设一下)

NAME=foo

我希望能够从java获得接口
“NAME”
。我尝试了以下方法,但没有结果:


     for (Enumeration nis = NetworkInterface.getNetworkInterfaces(); nis.hasMoreElements();) {
         NetworkInterface ni = nis.nextElement();
     System.out.println(ni.getDisplayName() + " " + ni.getName());
     }
它显示相同的内容:

eth0 eth0

有谁能告诉我,在java中是否可以获取网络接口属性
NAME
的值

谢谢


注意:当指定
NAME=foo
时,屏幕右上角网络面板中该接口的名称为
foo

是否确定已正确更改NIC名称,请检查以下链接是否确定已正确更改NIC名称,请检查以下链接

将网络接口的名称设置为新值后是否尝试重新启动网络?@KohányiRóbert Yes。但据我所见,NetworkInterface类的getName()和getDisplayName()方法没有任何NAME属性。是的,这些方法可能没有指定它们是否从*nix特定配置文件的键值返回内容,因为它们试图独立。此外,根据定义
NetworkInterface.getName()
将/应该返回网络接口的名称。在您的情况下,我想,
NAME
不是您的网络接口的名称,而是您标记的标签
eth0
,它是您的真实网络接口及其真实名称。(虽然我不是*nix专家,而且我对网络接口及其名称没有足够的了解。)您是否在将网络接口的名称设置为新值后尝试重新启动网络?@KohányiRóbert是的。但据我所见,NetworkInterface类的getName()和getDisplayName()方法没有任何NAME属性。是的,这些方法可能没有指定它们是否从*nix特定配置文件的键值返回内容,因为它们试图独立。此外,根据定义
NetworkInterface.getName()
将/应该返回网络接口的名称。在您的情况下,我想,
NAME
不是您的网络接口的名称,而是您标记的标签
eth0
,它是您的真实网络接口及其真实名称。(虽然我不是*nix专家,而且我对网络接口和它们的名称没有足够的了解。)我没有提到人种名称。我引用了ifcfg ethno文件中的NAME属性。如何从java访问它?这是我的问题,我没有提到民族的名字。我引用了ifcfg ethno文件中的NAME属性。如何从java访问它?那是我的问题。