java获取主机名_Java获取本地IP地址和主机名

importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.ArrayList;importjava.util.Enumeration;importjava.util.List;/*** 本地主机工具类

*

*@authorzhi

*@since2019年11月13日09:04:36

**/

public classLocalHostUtil {/*** 获取主机名称

*

*@return*@throwsUnknownHostException*/

public static String getHostName() throwsUnknownHostException {returnInetAddress.getLocalHost().getHostName();

}/*** 获取系统首选IP

*

*@return*@throwsUnknownHostException*/

public static String getLocalIP() throwsUnknownHostException {returnInetAddress.getLocalHost().getHostAddress();

}/*** 获取所有网卡IP,排除回文地址、虚拟地址

*

*@return*@throwsSocketException*/

public static String[] getLocalIPs() throwsSocketException {

List list = new ArrayList<>();

Enumeration enumeration =NetworkInterface.getNetworkInterfaces();while(enumeration.hasMoreElements()) {

NetworkInterface intf=enumeration.nextElement();if (intf.isLoopback() || intf.isVirtual()) { // continue;

}

Enumeration inets =intf.getInetAddresses();while(inets.hasMoreElements()) {

InetAddress addr=inets.nextElement();if (addr.isLoopbackAddress() || !addr.isSiteLocalAddress() ||addr.isAnyLocalAddress()) {continue;

}

list.add(addr.getHostAddress());

}

}return list.toArray(new String[0]);

}/*** 判断操作系统是否是Windows

*

*@return

*/

public static booleanisWindowsOS() {boolean isWindowsOS = false;

String osName= System.getProperty("os.name");if (osName.toLowerCase().indexOf("windows") > -1) {

isWindowsOS= true;

}returnisWindowsOS;

}public static voidmain(String[] args) {try{

System.out.println("主机是否为Windows系统:" +LocalHostUtil.isWindowsOS());

System.out.println("主机名称:" +LocalHostUtil.getHostName());

System.out.println("系统首选IP:" +LocalHostUtil.getLocalIP());

System.out.println("系统所有IP:" + String.join(",", LocalHostUtil.getLocalIPs()));

}catch(UnknownHostException e) {

}catch(Exception e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值