A> |
Zur Lösung des Übungsblattes Nr. 6 (und vieler weiterer Übungsblätter) ist es notwendig, eine bestimmte Anzahl von Zeichen aus einer Datei auszulesen.
Zum Auslesen einer bestimmten Anzahl von Zeichen aus einer Datei steht die Methode read(..) der Klasse BufferedReader zur Verfügung. Wie immer wird ein genaues Verständnis der vorgestellten Klasse und ihrer Methoden nicht erwartet. Es sollte aber leicht möglich sein, das nachfolgende Beispiel an die Übungsaufgabe anzupassen.
Das nachfolgende Beispiel liest eine Textdatei blockweise (jeweils 5 Zeichen) in ein Char-Array ein. Die eingelesenen Zeichen werden sofort wieder ausgegeben.
import java.util.StringTokenizer; import java.io.*; public class IOBeispiel { public static void main(String[] args) { char cbuf[]= new char[5]; int n; // number of read chars. FileReader fr= null; BufferedReader in= null; try { fr= new FileReader(args[0]); in= new BufferedReader(fr); } catch(FileNotFoundException fnfe) { System.out.println("File not found"); } try { while ( (n= in.read(cbuf, 0 /*offset*/, 5 /*len*/ ) ) != -1) for (int i= 0; i< n; i++) System.out.print(cbuf[i]); System.out.println("Datei Ende erreicht."); } catch(java.io.IOException ioe) { System.out.println("IO Exception"); } }; };