public final class NetUtil
extends java.lang.Object
| 限定符和类型 | 字段和说明 |
|---|---|
static java.net.InetAddress |
LOCALHOST
The
InetAddress that represents the loopback address. |
static java.net.Inet4Address |
LOCALHOST4
The
Inet4Address that represents the IPv4 loopback address '127.0.0.1' |
static java.net.Inet6Address |
LOCALHOST6
The
Inet6Address that represents the IPv6 loopback address '::1' |
static java.net.NetworkInterface |
LOOPBACK_IF
The loopback
NetworkInterface of the current machine |
static java.util.Collection<java.net.NetworkInterface> |
NETWORK_INTERFACES
An unmodifiable Collection of all the interfaces on this machine.
|
static int |
SOMAXCONN
The SOMAXCONN value of the current machine.
|
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
bytesToIpAddress(byte[] bytes)
Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.
|
static java.lang.String |
bytesToIpAddress(byte[] bytes,
int offset,
int length)
Converts 4-byte or 16-byte data into an IPv4 or IPv6 string respectively.
|
static byte[] |
createByteArrayFromIpAddressString(java.lang.String ipAddressString)
Creates an byte[] based on an ipAddressString.
|
static java.net.InetAddress |
createInetAddressFromIpAddressString(java.lang.String ipAddressString)
Creates an
InetAddress based on an ipAddressString or might return null if it can't be parsed. |
static java.net.Inet6Address |
getByName(java.lang.CharSequence ip)
Returns the
Inet6Address representation of a CharSequence IP address. |
static java.net.Inet6Address |
getByName(java.lang.CharSequence ip,
boolean ipv4Mapped)
Returns the
Inet6Address representation of a CharSequence IP address. |
static java.lang.String |
getHostname(java.net.InetSocketAddress addr)
Returns
InetSocketAddress.getHostString() if Java >= 7,
or InetSocketAddress.getHostName() otherwise. |
static java.lang.String |
intToIpAddress(int i)
Converts a 32-bit integer into an IPv4 address.
|
static int |
ipv4AddressToInt(java.net.Inet4Address ipAddress)
Convert
Inet4Address into int |
static boolean |
isIpV4StackPreferred()
Returns
true if IPv4 should be used even if the system supports both IPv4 and IPv6. |
static boolean |
isIpV6AddressesPreferred()
Returns
true if an IPv6 address should be preferred when a host has both an IPv4 address and an IPv6
address. |
static boolean |
isValidIpV4Address(java.lang.CharSequence ip)
Takes a
CharSequence and parses it to see if it is a valid IPV4 address. |
static boolean |
isValidIpV4Address(java.lang.String ip)
Takes a
String and parses it to see if it is a valid IPV4 address. |
static boolean |
isValidIpV6Address(java.lang.CharSequence ip) |
static boolean |
isValidIpV6Address(java.lang.String ip) |
static java.lang.String |
toAddressString(java.net.InetAddress ip)
Returns the
String representation of an InetAddress. |
static java.lang.String |
toAddressString(java.net.InetAddress ip,
boolean ipv4Mapped)
Returns the
String representation of an InetAddress. |
static java.lang.String |
toSocketAddressString(java.net.InetSocketAddress addr)
Returns the
String representation of an InetSocketAddress. |
static java.lang.String |
toSocketAddressString(java.lang.String host,
int port)
Returns the
String representation of a host port combo. |
public static final java.net.Inet4Address LOCALHOST4
Inet4Address that represents the IPv4 loopback address '127.0.0.1'public static final java.net.Inet6Address LOCALHOST6
Inet6Address that represents the IPv6 loopback address '::1'public static final java.net.InetAddress LOCALHOST
InetAddress that represents the loopback address. If IPv6 stack is available, it will refer to
LOCALHOST6. Otherwise, LOCALHOST4.public static final java.net.NetworkInterface LOOPBACK_IF
NetworkInterface of the current machinepublic static final java.util.Collection<java.net.NetworkInterface> NETWORK_INTERFACES
public static final int SOMAXCONN
200 is used as a
default value for Windows and 128 for others.public static boolean isIpV4StackPreferred()
true if IPv4 should be used even if the system supports both IPv4 and IPv6. Setting this
property to true will disable IPv6 support. The default value of this property is false.public static boolean isIpV6AddressesPreferred()
true if an IPv6 address should be preferred when a host has both an IPv4 address and an IPv6
address. The default value of this property is false.public static byte[] createByteArrayFromIpAddressString(java.lang.String ipAddressString)
public static java.net.InetAddress createInetAddressFromIpAddressString(java.lang.String ipAddressString)
InetAddress based on an ipAddressString or might return null if it can't be parsed.
No error handling is performed here.public static int ipv4AddressToInt(java.net.Inet4Address ipAddress)
Inet4Address into intpublic static java.lang.String intToIpAddress(int i)
public static java.lang.String bytesToIpAddress(byte[] bytes)
java.lang.IllegalArgumentException - if length is not 4 nor 16public static java.lang.String bytesToIpAddress(byte[] bytes,
int offset,
int length)
java.lang.IllegalArgumentException - if length is not 4 nor 16public static boolean isValidIpV6Address(java.lang.String ip)
public static boolean isValidIpV6Address(java.lang.CharSequence ip)
public static boolean isValidIpV4Address(java.lang.CharSequence ip)
CharSequence and parses it to see if it is a valid IPV4 address.public static boolean isValidIpV4Address(java.lang.String ip)
String and parses it to see if it is a valid IPV4 address.public static java.net.Inet6Address getByName(java.lang.CharSequence ip)
Inet6Address representation of a CharSequence IP address.
This method will treat all IPv4 type addresses as "IPv4 mapped" (see getByName(CharSequence, boolean))
ip - CharSequence IP address to be converted to a Inet6AddressInet6Address representation of the ip or null if not a valid IP address.public static java.net.Inet6Address getByName(java.lang.CharSequence ip,
boolean ipv4Mapped)
Inet6Address representation of a CharSequence IP address.
The ipv4Mapped parameter specifies how IPv4 addresses should be treated.
"IPv4 mapped" format as
defined in rfc 4291 section 2 is supported.
ip - CharSequence IP address to be converted to a Inet6Addressipv4Mapped - true To allow IPv4 mapped inputs to be translated into Inet6Addressfalse Consider IPv4 mapped addresses as invalid.Inet6Address representation of the ip or null if not a valid IP address.public static java.lang.String toSocketAddressString(java.net.InetSocketAddress addr)
String representation of an InetSocketAddress.
The output does not include Scope ID.
addr - InetSocketAddress to be converted to an address stringString containing the text-formatted IP addresspublic static java.lang.String toSocketAddressString(java.lang.String host,
int port)
String representation of a host port combo.public static java.lang.String toAddressString(java.net.InetAddress ip)
String representation of an InetAddress.
InetAddress.getHostAddress()The output does not include Scope ID.
ip - InetAddress to be converted to an address stringString containing the text-formatted IP addresspublic static java.lang.String toAddressString(java.net.InetAddress ip,
boolean ipv4Mapped)
String representation of an InetAddress.
InetAddress.getHostAddress()ipv4Mapped is false. If ipv4Mapped is true then "IPv4 mapped" format
from rfc 4291 section 2 will be supported.
The compressed result will always obey the compression rules defined in
rfc 5952 section 4The output does not include Scope ID.
ip - InetAddress to be converted to an address stringipv4Mapped - true to stray from strict rfc 5952 and support the "IPv4 mapped" format
defined in rfc 4291 section 2 while still
following the updated guidelines in
rfc 5952 section 4false to strictly follow rfc 5952String containing the text-formatted IP addresspublic static java.lang.String getHostname(java.net.InetSocketAddress addr)
InetSocketAddress.getHostString() if Java >= 7,
or InetSocketAddress.getHostName() otherwise.addr - The address