java判断端口是否可用

项目启动时,可能无法判断当前项目启动端口是否被占用,设定端口后可能会导致端口占用而无法启动
在思考能不能使用程序判断未被占用的端口,动态的进行启动项目

/**
 * 根据IP和端口号,查询其是否被占用
 *      如果所测试端口号没有被占用,那么会抛出异常,这里利用这个机制来判断
 * @param host IP地址
 * @param port 端口号
 * @return 如果被占用,返回true;否则返回false
 */
public static boolean portIsUsing(@NotNull String host, int port) {
    if (host != null && host.startsWith("https://")) {
        host = host.substring(8);
    }
    if (host != null && host.startsWith("http://")) {
        host = host.substring(7);
    }
    try {
        InetAddress theAddress = InetAddress.getByName(host);
        new Socket(theAddress, port);
        return true;
    } catch (IOException ignored) {
    }
    return false;
}

版权声明:本文为L_fly_J原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。