摘要
近期系统用到判断ip地址和ping场景,发现两个比较好用得方法,不依赖第三方包,特此记录一下
环境
JDK1.8
代码
@Test
public void test() throws Exception {
String address1 = "127.0.0.1";
String address2 = "127.0.0.256";
String address3 = "fe80::2ca6:bfce:e67f:c0a6%21";
String address4 = "10.0.0.1";
log.info("address {}, result is {}", address1, checkIpAddress(address1));
log.info("address {}, result is {}", address2, checkIpAddress(address2));
log.info("address {}, result is {}", address3, checkIpAddress(address3));
// ping, 3秒超时
log.info(" address {} reachable: {}", address3, InetAddress.getAllByName(address3)[0].isReachable(3000));
log.info(" address {} reachable: {}", address4, InetAddress.getAllByName(address4)[0].isReachable(3000));
}
private String checkIpAddress(String ipAddress) {