Java 中判斷 IPv4 和 IPv6 十分常見。在進行網絡編程過程中需要獲取到 IP 地址信息并根據其類型進行不同的處理。
下面介紹如何在 Java 中判斷 IPv4 和 IPv6:
// 判斷是否為 IPv4 public static boolean isIPv4Address(String address) { if (address == null || address.length() == 0) { return false; } String[] parts = address.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; } // 判斷是否為 IPv6 public static boolean isIPv6Address(String address) { if (address == null || address.length() == 0) { return false; } try { InetAddress inetAddress = InetAddress.getByName(address); return inetAddress instanceof Inet6Address; } catch (UnknownHostException e) { return false; } }
以上代碼分別采用正則表達式和 Java 內置 API 來進行 IPv4 和 IPv6 的判斷,使用時可以根據需要進行選擇。
在進行網絡編程時,可以使用以上代碼來進行 IP 地址類型的判斷,以便進行下一步的網絡操作。