/***************************************************************/ /* Prof. Dr. Gregor Büchel */ /* Source: Dat7.java */ /* Stand : 09.04.2002 */ /* */ /* Testprogramm für byteorientierte Dateiverarbeitung mit */ /* folgendem Datensatzaufbau (Verbformen): */ /* ::= (String) Infinitiv */ /* ::= (String) 1.Person Praeteritum */ /* ::= (String) Partizip Perfekt Passiv */ /* ::= */ /* */ /***************************************************************/ import java.io.*; class Dat7 { public static void main(String args[]) throws IOException {int iz=0,m,ia=1; String einfin,epraet,eppart,ainfin,apraet,appart,sh1; sh1=new String(); einfin=new String(); epraet=new String(); eppart=new String(); ainfin=new String(); apraet=new String(); appart=new String(); do {m=menue(); switch(m) {case 1: FileOutputStream pa1 = new FileOutputStream("verb.aus"); DataOutputStream da1 = new DataOutputStream(pa1); do {/* erfassen */ System.out.println("Bitte eingeben:"); einfin=IO1.einstring(); /* erfassen */ System.out.println("Bitte <1. Pers. Praet.> eingeben:"); epraet=IO1.einstring(); /* erfassen */ System.out.println("Bitte eingeben:"); eppart=IO1.einstring(); /* DS schreiben */ da1.writeUTF(einfin); da1.writeUTF(epraet); da1.writeUTF(eppart); iz=iz+1; System.out.println("Einen nächstes Verb erfassen?(ja=1/nein=0)"); ia=IO1.einint(); } while(ia==1); System.out.println(iz+" Verben geschrieben"); da1.close(); break; case 2: FileInputStream pe1 = new FileInputStream("verb.aus"); DataInputStream de1 = new DataInputStream(pe1); iz=0; /* Leseblock mit EOF-Steuerung */ try { while(true) {/* Lesen eines Datensatzes aus dem Bytestrom */ ainfin=de1.readUTF(); apraet=de1.readUTF(); appart=de1.readUTF(); /* Einzelsatzverarbeitung */ iz=iz+1; System.out.println(iz+".Verb: "+ainfin+" "+apraet+" " +appart); } } catch(EOFException eo1) {sh1=eo1.toString(); System.out.println(sh1.substring(8,11)+": "); /* Dateiverbindung schliessen */ de1.close(); /* Dateiendeverarbeitung */ System.out.println("Anzahl gelesener Verben: "+iz); } break; case 9: System.out.println("ENDE!"); break; default: System.out.println("Unzulaessige Eingabe!"); } } while(m!=9); } public static int menue() {int ir; System.out.println("Byteorientierte Verarbeitung von Verben:"); System.out.println("(1) Erzeugen und Schreiben von Verben"); System.out.println("(2) Lesen von Verben"); System.out.println("(9) ENDE"); System.out.println("Bitte waehlen Sie!"); ir=IO1.einint(); return ir; } }