45 lines
1.9 KiB
Java
45 lines
1.9 KiB
Java
package Serialisierung;
|
|
import java.io.*;
|
|
|
|
public class SerializationExample {
|
|
public static void main(String[] args) {
|
|
// Erstelle ein Produkt
|
|
Product product = new Product("Smartphone", "Ein leistungsstarkes Smartphone", 699.99);
|
|
|
|
// Dateiname für die Serialisierung
|
|
String filename = "product.ser";
|
|
|
|
// Serialisierung
|
|
serializeProduct(product, filename);
|
|
|
|
// Deserialisierung und Ausgabe
|
|
Product deserializedProduct = deserializeProduct(filename);
|
|
System.out.println("Deserialisiertes Produkt:");
|
|
System.out.println("Name: " + deserializedProduct.getName());
|
|
System.out.println("Beschreibung: " + deserializedProduct.getDescription());
|
|
System.out.println("Preis: " + deserializedProduct.getPrice());
|
|
}
|
|
|
|
// Methode zur Serialisierung eines Produkts
|
|
private static void serializeProduct(Product product, String filename) {
|
|
try (ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(filename))) {
|
|
outputStream.writeObject(product);
|
|
System.out.println("Produkt wurde erfolgreich serialisiert.");
|
|
} catch (IOException e) {
|
|
System.err.println("Fehler bei der Serialisierung des Produkts: " + e.getMessage());
|
|
}
|
|
}
|
|
|
|
// Methode zur Deserialisierung eines Produkts
|
|
private static Product deserializeProduct(String filename) {
|
|
Product product = null;
|
|
try (ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(filename))) {
|
|
product = (Product) inputStream.readObject();
|
|
System.out.println("Produkt wurde erfolgreich deserialisiert.");
|
|
} catch (IOException | ClassNotFoundException e) {
|
|
System.err.println("Fehler bei der Deserialisierung des Produkts: " + e.getMessage());
|
|
}
|
|
return product;
|
|
}
|
|
}
|