/** Taken from Core Web Programming from * Prentice Hall and Sun Microsystems Press, * . * © 2001 Marty Hall and Larry Brown; * may be freely used or adapted. */ // Further simplified getURL method. public URL getURL() { if (url != null) { return(url); } System.out.print("Enter URL: "); System.out.flush(); BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String urlString = null; try { urlString = in.readLine(); url = new URL(urlString); } catch(MalformedURLException mue) { System.out.println(urlString + " is not valid.\n" + "Try again."); getURL(); } catch(IOException ioe) { System.out.println("IOError when reading input: " + ioe); ioe.printStackTrace(); // Can skip return(null) now } finally { return(url); } } import java.net.*; // For URL, MalformedURLException import java.io.*; // For BufferedReader /** A small class to demonstrate try/catch blocks. * * Taken from Core Web Programming from * Prentice Hall and Sun Microsystems Press, * . * © 2001 Marty Hall and Larry Brown; * may be freely used or adapted. */ public class URLTest { public static void main(String[] args) { URLTest test = new URLTest(); test.getURL(); test.printURL(); } private URL url = null; /** Read a string from user and create a URL from it. If * reading fails, give up and report error. If reading * succeeds but URL is illegal, try again. */ public URL getURL() { if (url != null) { return(url); } System.out.print("Enter URL: "); System.out.flush(); BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String urlString; try { urlString = in.readLine(); } catch(IOException ioe) { System.out.println("IOError when reading input: " + ioe); ioe.printStackTrace(); // Show stack dump. return(null); } try { url = new URL(urlString); } catch(MalformedURLException mue) { System.out.println(urlString + " is not valid.\n" + "Try again."); getURL(); } return(url); } /** Print info on URL. */ public void printURL() { if (url == null) { System.out.println("No URL."); } else { String protocol = url.getProtocol(); String host = url.getHost(); int port = url.getPort(); if (protocol.equals("http") && (port == -1)) { port = 80; } String file = url.getFile(); System.out.println("Protocol: " + protocol + "\nHost: " + host + "\nPort: " + port + "\nFile: " + file); } } } /** Taken from Core Web Programming from * Prentice Hall and Sun Microsystems Press, * . * © 2001 Marty Hall and Larry Brown; * may be freely used or adapted. */ // Simplified getURL method. public URL getURL() { if (url != null) { return(url); } System.out.print("Enter URL: "); System.out.flush(); BufferedReader in = new BufferedReader( new InputStreamReader(System.in)); String urlString = null; try { urlString = in.readLine(); url = new URL(urlString); } catch(MalformedURLException mue) { System.out.println(urlString + " is not valid.\n" + "Try again."); getURL(); } catch(IOException ioe) { System.out.println("IOError when reading input: " + ioe); ioe.printStackTrace(); // Show stack dump return(null); } return(url); }
Aug 29