Objekte auf HD speichern

Status
Nicht offen für weitere Antworten.

kulturfenster

Bekanntes Mitglied
Liebes Forum,

ich habe eine kleine Frage zum Speichern von Objekten. Ich möchte eine Vektor-Liste auf meine HD speichern und laden können. Gibt es eine Möglichkeit, ein Objekt als Ganzes zu laden? Oder muss ich die Felder meiner Objekte in eine Textdatei schreiben und diese beim Laden dann einzeln auslesen und damit ein neues Objekt kreieren?

konkret geht es zum Beispiel um eine Liste von Ellipsen.

Vielen Dank für Tipps!
 
Mit serialisierung zwar theoretisch möglich, allerdings extrem unflexibel und eigentlich kein Ersatz für echte Persistierung.
Wenn es sich um etwas extrem einfaches, für privaten Gebrauch, das sich niemals ändern wird, handelt, dann kannst du Serialisierung verwenden, ansonsten überleg dir ob du ein eigenes Format möchtest, CSV, XML, eine DB, oder was auch immer.
Je nachdem wie du dich entscheidest, kann man dir raten wie du am besten vorgehst.
 
und wieder was Neues gelernt! Vielen Dank für die Tipps! 🙂

anbei eine kleine Tester-Klasse:
Code:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.io.*;
import java.awt.Point;
import java.util.Vector;
/**
 *
 * @author kulturfenster
 */
public class Tester {

    private Vector<Point> points;

    public Tester() {}

    public Tester(Vector<Point> points)
    {
        this.points = points;
    }

    public void printPoints()
    {
        for(Point p: points)
            System.out.println(p.getX() + " " + p.getY());
    }

    public void saveShapes(String filename) {
        try {
            FileOutputStream fos = new FileOutputStream(filename);
            ObjectOutputStream oos = new ObjectOutputStream(fos);

            //for(Point s: points)
                oos.writeObject(points);

            oos.close();
            System.out.println("File saved");
        }
        catch (Exception e) {e.printStackTrace();
            new FileNotFoundException();
        }
    }

     public void openShapes(String filename) {
        try {
            FileInputStream fis = new FileInputStream(filename);
            ObjectInputStream ois = new ObjectInputStream(fis);

            points = (Vector<Point>) ois.readObject();

            ois.close();
            System.out.println("File loaded");

        }
        catch (Exception e) {
            new FileNotFoundException();
        }

    }

    public static void main(String[] args)
    {
    /*    Vector<Point> points = new Vector<Point>();
        for(int i = 0; i<10; i++)
        {
            Point p = new Point(i,i);
            points.add(p);
        }
        Tester t = new Tester(points);
        t.printPoints();
        t.saveShapes("tester.txt");
    */
    Tester t = new Tester();
    t.openShapes("tester.txt");
    t.printPoints();
    }
}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben