Java获得本机IP地址的方式有很多很多。这里只需要配置好Java环境就好。也就是说,不需要第三方插件,不需要CMD操作。如果妳是发烧友,同时有多张网卡同时在用,那么就漂亮了。。。下面跟我来,我演示给大家看~
工具/原料
一台配置好java环境的可以上网的电脑
Java获得本机IP
1、首先,创建工程,包,和一个类。在此不加详述,我们直接看代码。这里,我把这个类命名为GetIpAddr
2、这里,我们首先需要知道计算机名,而并非用户名。这么查看:开始菜单,右键单机“计算机”,点击属性。或者,打开计算机,左下角列表里面,右键单机“计算机”,点击属性。位置已经标明,恕不公开我的名称,谢谢谅解。
3、接着,最最核心的就是接下来的这个方法。我们通过InetAddress这个类来操作。调用getAllByName()这个方法来获取一个地址数组。我们把 这个数组遍历一次,然后输出恝依在绌来就是。不多废话,代码很短。看代码:private void getIpAddr() throws SocketException, UnknownHostException { // 这XXXXXXX呢,是指计算机名,右键我的电脑,点属性查看就知道 for (InetAddress it : InetAddress.getAllByName("XXXXXXX")) { System.out.println(ipv4OrIpv6(it)); }}
4、上面的for each 循环里面,怎么会有一个ipv4OrIpv6()的方法呢?这里我们给出解释:输出时候,判断这个地址是IPv4还是IPv6. 然后输出。判断方刮茕栓双法有点笨拙,见谅。这也是为了视觉的直观,也夹带着个人的习惯。代码是:private static String ipv4OrIpv6(InetAddress ita) { String[] itn = ita.toString().split("/"); String str = itn[1]; if (str.length() > 16) { return "IPv6\t" + ita.toString(); } return "IPv4\t" + ita.toString();}
5、最后,我写一个测试的主方法,然后运行一下看看结果。大家一起也试试?public static void main(String[] args) throws SocketException, UnknownHostException { new GetIpAddr().getIpAddr();}结果如图: