/* * @author Benjamin Kormann */ 1. Aufgabe a) Exception in thread "main" Eine triviale Ausnahme! at java.lang.Throwable.fillInStackTrace(Native Method) at java.lang.Throwable.<init>(Throwable.java:82) at java.lang.Exception.<init>(Exception.java:33) at EineTrivialeAusnahme.<init>(VerlNachricht.java:9) at VerlNachricht.g(VerlNachricht.java:25) at VerlNachricht.main(VerlNachricht.java:36) b) Beim Betreten der try-Klausel wird durch die Funktion f() eine Exception geworfen. Die finally-Klausel wird in jedem Fall durchlaufen und fängt hier quasi die von f() geworfene Exception ab und ruft g() auf. g() wirft ebenfalls eine Exception, die von main() an den Aufrufer zurückgegeben wird. c) Sobald eine finally-Klausel existiert, werden "vorher" (in der try-Klausel) geworfene Exceptions ignoriert. /* Aufgabe2.java */ import java.io.*; /* * @author Benjamin Kormann */ public class Aufgabe2 { public static void main(String args[]) { BufferedReader br; try { br = new BufferedReader( new InputStreamReader(System.in)); while(true) { String line = br.readLine(); System.out.println("Ausgabe: " + line); } } catch(IOException ie) { System.err.println(ie.toString()); } } } b) - leere Zeichenkette: Zeilenumbruch wird ausgegeben - EOF: + UNIX: null /* Aufgabe3.java */ import java.io.*; /* * @author Benjamin Kormann */ public class Aufgabe3 { public static void main(String args[]) { if (args.length != 1) { System.out.println("Usage: java Aufgabe3” + “<file>"); System.exit(0); } } } FileInputStream in; FileOutputStream out; try { in = new FileInputStream(args[0]); out = new FileOutputStream("Kopie_" + args[0]); int len; byte[] buf = new byte[4096]; while((len = in.read(buf)) != -1) out.write(buf, 0, len); out.close(); in.close(); } catch(IOException ie) { System.err.println(ie.toString()); } /* Aufgabe4.java */ import java.io.*; /* * @author Benjamin Kormann */ public class Aufgabe4 { public static void main(String args[]) { if (args.length != 1) { System.out.println("Usage: java “ + “Aufgabe4 <file>"); System.exit(0); } } } File f = new File(args[0]); System.out.println(f.length()); /* Aufgabe5.java */ import java.io.*; /* * @author Benjamin Kormann */ public class Aufgabe5 { public static void main(String args[]) { if (args.length != 1) { System.out.println("Usage: java “ + “Aufgabe5 <file>"); System.exit(0); } LineNumberReader in; PrintWriter out; try { in = new LineNumberReader( new FileReader(args[0])); out = new PrintWriter( new FileOutputStream( args[0] + ".numbered")); String line; while((line = in.readLine()) != null) out.println("/* " + in.getLineNumber() + " */ " + line); out.close(); in.close(); } } } catch(IOException ie) { System.err.println(ie.toString()); }