📄 netipaddressdemo2.java
字号:
//Example 2 of Chapter 9
import java.net.*;
public class NetIpAddressDemo2
{
public static int getLength( InetAddress ia )
{
byte[] address = ia.getAddress();
if( address.length == 4 ) return 4;
else if( address.length == 16 ) return 16;
else return -1;
}
public static char getKind( InetAddress ia )
{
byte[] address = ia.getAddress();
if( address.length != 4 )
{
throw new IllegalArgumentException( "No IPv6 addresses!" );
}
int firstByte = address[ 0 ];
if( ( firstByte & 0x80 ) == 0 ) return 'A';
else if( ( firstByte & 0xC0 ) == 0x80 ) return 'B';
else if( ( firstByte & 0xE0 ) == 0xC0 ) return 'C';
else if( ( firstByte & 0xF0 ) == 0xE0 ) return 'D';
else if( ( firstByte & 0xF8 ) == 0xF0 ) return 'E';
else return 'F';
}
public static void main(String args[])
{
try{
InetAddress ia = InetAddress.getByName( "www.microsoft.com" );
System.out.println( "IP地址长度为:" + getLength( ia ) );
System.out.println( "IP地址种类为:" + getKind( ia ) );
}
catch(UnknownHostException e)
{
System.err.println( e );
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -