Arbeitsblatt 6 – EAD II Dateiarbeit

Werbung
Arbeitsblatt 6 – EAD II Dateiarbeit
Um nicht jedes Mal größere Mengen an Daten eingeben zu müssen oder sich Ergebnisse von
Programmen aufbewahren zu können, kann man diese Daten in Dateien abspeichern bzw. aus
Dateien laden. In Java erfolgt das unter Verwendung von Streams.
Es gibt ein Beispielprogramm, das Sie herunterladen können.
Klasse FileDialog
http://www.dpunkt.de/java/Referenz/Das_Paket_java.awt/50.html
Um Fehler zu vermeiden, die aufgrund nicht existierender Dateien auftreten, sollte die
Dateiauswahl IMMER über einen Dateiauswahldialog erfolgen.
//Dialogfenster konfigurieren zum Laden einer Datei
FileDialog dialog = new FileDialog(new Frame(), "Datei
öffnen", FileDialog.LOAD);
//Dialogfenster anzeigen
dialog.setVisible(true);
//wenn keine Datei ausgewählt oder Abbrechen geklickt wurde,
Methode beenden
if (dialog.getFile() == null) return;
//ausgewählte Datei an Dateivariable zuweisen
datei = new File(dialog.getDirectory(),dialog.getFile());
Es ist erforderlich, vorher die Variable “datei” zu deklarieren und alle benötigten Pakete zu
importieren.
Lesen aus und Schreiben in Dateien
Wurde die Datei zum Lesen geöffnet, kann nun mit readLine() eine Zeile der Datei
gelesen werden (bis zum Zeilenendekennzeichen).
String dateizeile = ein.readLine();
Weitere Informationen finden Sie in der Dokumentation der Klasse BufferedReader:
http://www.dpunkt.de/java/Referenz/Das_Paket_java.io/4.html .
In Dateien schreiben kann man mit dem Befehl write().
ausgabe.write(textfensterinhalt);
Siehe hierzu die Dokumentation der Klasse BufferedWriter:
http://www.dpunkt.de/java/Referenz/Das_Paket_java.io/5.html
Aufgabe 1: Cäsar-Verschlüsselung
Verwenden Sie das Beispielprogramm und erweitern Sie es um eine Klasse, in der
Verschlüsselungsalgorithmen implementiert werden können.
Implementieren Sie die Klasse als einfache Javaklasse entsprechend dem angegebenen UMLDiagramm. Die ersten drei Methoden dienen zum Zugriff auf die gespeicherten Texte.
Die Cäsarverschlüsselung erfolgt durch die Verschiebung jedes Buchstabens um eine
einzugebende Anzahl Stellen im Alphabet. Es wird der originaltext als Eingabe verwendet
und das Ergebnis in kryptotext abgelegt.
Aufgabe 2: graphische Oberfläche anpassen
Die Oberflächenklasse braucht nun eine Instanz der Verschlüsselung, um auf die Methoden
zugreifen zu können. Passen Sie die Oberfläche des Beispielprogramms so an, dass im oberen
Textfenster ein Text eingegeben wird, entweder per Hand oder eingelesen au seiner Datei.
Ergänzen Sie einen Button zum Verschlüsseln und geben Sie den verschlüsselten Text im
unteren Textfenster aus.
Hinweise:
Erinnern Sie sich an Aufgabenblatt 3 von EAD I für die Umwandlung von Character zu
Integer und umgedreht, um die Verschiebung im Alphabet einfach berechnen zu können. Mit
originaltext.charAt(i);
können Sie auf das i-te Zeichen im String originaltext zugreifen (das ist dann ein char).
Herunterladen