Creating InetAddress objects

The InetAddress class is a little unusual in that it doesn't have any public constructors. Instead you pass the host name or string format of the dotted quad address to the static InetAddress.getByName() method like this:

try {
  InetAddress utopia = InetAddress.getByName("utopia.poly.edu");
  InetAddress duke = InetAddress.getByName("128.238.2.92");
}
catch (UnknownHostException ex) {
  System.err.println(ex);
}  

Some hosts have multiple addresses. If you suspect this may be the case you can return an array of InetAddress objects with the static InetAddress.getAllByName() method like this:

import java.net.*;

public class AppleAddresses {

  public static void main (String args[]) {

    try {
      InetAddress[] addresses = InetAddress.getAllByName("www.apple.com");
      for (int i = 0; i < addresses.length; i++) {
        System.out.println(addresses[i]);
      }
    }
    catch (UnknownHostException ex) {
      System.out.println("Could not find www.apple.com");
    }

  }

}

This prints the following:

www.apple.com/17.254.3.28
www.apple.com/17.254.3.37
www.apple.com/17.254.3.61
www.apple.com/17.254.3.21

Finally the static InetAddress.getLocalHost() method returns an InetAddress object that contains the address of the computer the program is running on.

try {
  InetAddress me = InetAddress.getLocalHost();
}
catch (UnknownHostException e) {
  System.err.println(e);
}  

Previous | Next | Top | Cafe au Lait

Copyright 1997, 1999 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified December 15, 1999