FileDocCategorySizeDatePackage
InetAddressFactory.javaAPI DocExample1726Thu Apr 03 15:14:16 BST 1997java.net

InetAddressFactory

public class InetAddressFactory extends Object

Fields Summary
Constructors Summary
Methods Summary
public static java.net.InetAddressnewInetAddress(byte[] addr)

 
     try {
       InetAddress ia = new InetAddress();
       ia.address  = addr[3] & 0xFF;
       ia.address |= ((addr[2] << 8) & 0xFF00);
       ia.address |= ((addr[1] << 16) & 0xFF0000);
       ia.address |= ((addr[0] << 24) & 0xFF000000);
       return ia;
     }
     catch (Exception e) {  // primarily ArrayIndexOutOfBoundsExceptions
       throw new UnknownHostException(e.toString());
     }
   
 
  
public static java.net.InetAddressnewInetAddress(java.lang.String s)

   
     // be ready for IPv6
     int num_bytes_in_an_IP_address = 4;
     byte addr[] = new byte[num_bytes_in_an_IP_address];
     StringTokenizer st = new StringTokenizer(s, ".");
     
     // make sure the format is correct
     if (st.countTokens() != addr.length) {
       throw new UnknownHostException(s 
        + " is not a valid numeric IP address");
     }
 
     for (int i = 0; i < addr.length; i++) {
       int thisByte = Integer.parseInt(st.nextToken());
       if (thisByte < 0 || thisByte > 255) {
              throw new UnknownHostException(s 
        + " is not a valid numeric IP address");
       }
       
       // check this
       if (thisByte > 127) thisByte -= 256;
       addr[i] = (byte) thisByte;
       
     }  // end for

     return newInetAddress(addr);