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

/**
   URL-Lader (Version 3)
   @author Benedikt Großer, Holger Arndt
   @version 26.05.2003
*/
public class URLLader
{ 
  public static void main(String[] argv)
  { 
    try
      { 
	// Eine URL erzeugen. 
	URL url = new URL(argv[0]);
	// Eine Verbindung zu dieser URL aufbauen und eine Instanz 
	// von URLConnection erhalten. 
	// Diese Instanz stellt die Verbindung zu der entfernten URL dar. 
	URLConnection urlconn = url.openConnection(); 
	// Einen Eingabestrom auf die Verbindung setzen. 
	InputStream urlconninstr = urlconn.getInputStream();
	// Auf diesen Stream einen InputStreamReader ansetzen. 
	InputStreamReader isr = new InputStreamReader(urlconninstr); 
	// Den InputStreamReader in einem BufferedReader verpacken. 
	BufferedReader br = new BufferedReader(isr); 

	// Ausgabestrom in Datei erzeugen 
	// Eine lokale Ausgabedatei in eine Instanz in File kapseln. 
	File ausgabeDatei = new File("vomWeb.html"); 
	// FileWriter erzeugen. 
	FileWriter fw = new FileWriter(ausgabeDatei); 
	// Den FileWriter in einem BufferedWriter verpacken. 
	BufferedWriter bw = new BufferedWriter(fw); 

	// Zeilenweise einlesen 
	String zeile = br.readLine(); 
	while (zeile != null)
	  { 
	    bw.write(zeile); 
	    bw.newLine(); 
 	    zeile = br.readLine(); 
	  }
	
	// BufferedReader schliessen 
	br.close(); 
	// BufferedWriter schliessen 
	bw.close(); 
      } // try 
    catch (MalformedURLException mue)
      {
	System.out.print("Fehlerhafte URL: ");
	System.out.println(mue.getMessage());
      }
    catch (IOException ioe)
      { 
	System.out.print("Allgemeiner IO-Fehler mit "); 
	System.out.println(ioe.getMessage()); 
      }
    catch (ArrayIndexOutOfBoundsException aioobe)
      { System.out.println("Aufruf: java URLLader <URL>"); }

  } // Ende main 

} // Ende class UrlLader1 
