Hallo nochmal,
Diesmal meine Frage in eine bisschen andere Richtung von Java.
Habe 3 Klassen: "Polygon", "Punkt" und "SimplePolygonMain".
Mit der Main Klasse "SimplePolygonMain" erzeugt der User ein Polygon.
Dieses wird mit Serializable geladen und gespeichert.
Hier mal der Quellcode der Klasse "SimplePolygonMain":
So nun zu meiner Frage bzw. Aufgabe. Ich soll die Klasse so ändern, dass jedesmal, nachdem ein neues Polygon erzeugt wurde eine Sicherungskopie dieses Polygons mit dem Namen "sicher.dat" gespeichert wird. Wie macht man das ??? Habe keinen blassen Schimmer. Bin über jeden Ratschlag dankbar.
Gruß
Johannes
Diesmal meine Frage in eine bisschen andere Richtung von Java.
Habe 3 Klassen: "Polygon", "Punkt" und "SimplePolygonMain".
Mit der Main Klasse "SimplePolygonMain" erzeugt der User ein Polygon.
Dieses wird mit Serializable geladen und gespeichert.
Hier mal der Quellcode der Klasse "SimplePolygonMain":
Java:
import java.io.*;
public class SimplePolygonMain {
public static void main(String[] args) {
String antwort;
Polygon polygon = new Polygon();
System.out.println("Neues Polygon erzeugen oder altes einlesen? (neu/alt)");
antwort = Keyboard.readString();
if(antwort.equals("neu")){
// System.out.println("Polygon erzeugen mit wieviel Punkten?");
// int n = Keyboard.readInt();
// polygon = new Polygon(n);
polygon.einlesen();
polygon.ausgeben();
// Dateinamen einlesen, ObjectStream oeffnen und Polygon
// in die Datei schreiben
// Ausnahmebehandlung mit try-catch-Anweisung
System.out.print("Bitte geben Sie einen Dateinamen ein: ");
String datei = Keyboard.readString();
try{
FileOutputStream fos = new FileOutputStream(datei);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(polygon);
fos.close();
} catch (IOException exc){
System.err.println("Folgender Fehler ist aufgetreten: "
+ exc.toString());
}
} else if(antwort.equals("alt")){
// Dateinamen einlesen, ObjectStream oeffnen und Polygon
// aus der Datei lesen
// Ausnahmebehandlung mit try-catch-Anweisung
System.out.print("Geben Sie den Dateinamen an: ");
String datei = Keyboard.readString();
try{
FileInputStream fis = new FileInputStream(datei);
ObjectInputStream ois = new ObjectInputStream(fis);
polygon = (Polygon) ois.readObject();
fis.close();
} catch (IOException exc){
System.err.println("Folgender Fehler ist aufgetreten: "
+ exc.toString());
} catch (ClassNotFoundException exc){
System.err.println("Datei enthaelt kein gueltiges Polygon.");
}
polygon.ausgeben();
}
// Testen, ob das Polygon aus mindestens drei Punkten besteht
// In diesem Fall Flaeche berechnen und ausgeben,
// anderenfalls eine Fehlermeldung ausgeben
if (polygon.getAnzahl()<3){
System.out.println("Das Polgon besteht nur aus 2 Punkten.");
} else {
System.out.println("Die Flaeche beträgt: " + polygon.berechneFlaeche());
}
}
}
So nun zu meiner Frage bzw. Aufgabe. Ich soll die Klasse so ändern, dass jedesmal, nachdem ein neues Polygon erzeugt wurde eine Sicherungskopie dieses Polygons mit dem Namen "sicher.dat" gespeichert wird. Wie macht man das ??? Habe keinen blassen Schimmer. Bin über jeden Ratschlag dankbar.
Gruß
Johannes