在 Java 中,如果需要檢驗一個 IP 地址是否符合規范或者需要檢查一個端口是否可用,可以使用以下的方法:
/** * 檢查一個 IP 地址是否符合規范 */ public static boolean isValidIP(String ip) { if (ip == null || ip.length() == 0) { return false; } String[] parts = ip.split("\\."); if (parts.length != 4) { return false; } for (String part : parts) { try { int value = Integer.parseInt(part); if (value< 0 || value >255) { return false; } } catch (NumberFormatException e) { return false; } } return true; } /** * 檢查一個端口是否可用 */ public static boolean isPortAvailable(String ip, int port) { if (!isValidIP(ip)) { return false; } try { Socket socket = new Socket(); socket.connect(new InetSocketAddress(ip, port), 2000); socket.close(); return true; } catch (IOException e) { return false; } }
其中,isValidIP 方法用于判斷一個 IP 地址是否符合規范,它的實現方式是先使用 . 分割 IP 地址的每個部分,再逐一判斷每個部分是否為 0-255 的整數。
isPortAvailable 方法用于檢查一個端口是否可用,在使用 Socket 進行連接之后,如果連接成功,則說明該端口可用,否則不可用。