Java: Read page from Web server

/* This program was taken from the Java Tutorial 
   http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html 
   Modified by Fred Swartz to use the Java 1.1 "Reader" classes.  24 Nov 1997 
*/ 

import java.net.*; 
import java.io.*; 

class ReadURL { 
    public static void main(String[] args) { 
        try { 
            URL yahoo = new URL("http://www.yahoo.com/"); 
            BufferedReader in = new BufferedReader( 
                new InputStreamReader(yahoo.openStream())); 
            String inputLine; 
    
            while ((inputLine = in.readLine()) != null) { 
                // Process each line.
                System.out.println(inputLine); 
            } 
            in.close(); 
    
        } catch (MalformedURLException me) { 
            System.out.println(me); 
    
        } catch (IOException ioe) { 
            System.out.println(ioe); 
        } 
    }//end main 
}//end class ReadURL

Another way to read from a server

It's possible to have more control over the connection by using the URLConnection, or HttpURLConnection classes. For example, using a URLConnection object is very similar to the above example.
  URL yahoo = new URL("http://www.yahoo.com/"); 
  URLConnection yahooConnection = yahoo.openConnection(); 
  BufferedReader in = new BufferedReader( 
             new InputStreamReader(yahooConnection.getInputStream())); 

Lower-level network I/O

Java network I/O is at the level to UPD, TCP, and higher-level protocols (HTTP, SMTP, ...). It is not possible to do network I/O at the very low levels (eg, ICMP), but this is not a problem for any normal programs. However, there are a few programs (like ping and traceroute) that you can not write in Java.