PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten offline speichern?


pate33
29.01.2003, 17:59
Hi,

ich ueberleg grad, wie ich die daten meines jBirtday proggies speichere ...

properties, eigentlich geeignet, aber performant bei ~500 datensaeten?

file wrapper fuer ne textdatei? zu langsam.

xml? noch nie was damit gemacht. hat jemand erfahrung?

sql? muss man erst ne db installieren. :(

excel, eigentlich auch geeignet .. aber worst-case-weil-MS. :D

any other ideas? ;)


MrEasy
29.01.2003, 20:32
im quelltext hard-coden :D

pate33
29.01.2003, 22:27
??

das sollen daten von den geburtstagen und kontakten sein, wie willst das in source hardcoden? ich meine, wenn ich ne auf mich geschnittene liste haben will, brauch ich kein java prog zu coden, dann wuerde ne excel liste reichen ... :D

aber das soll ja fuer die allgemeinheit sein. :)

K21
30.01.2003, 08:31
hmm wie schaut es denn eigentlich aus mit der performance bei property files ?
würde mich sehr interessieren, denn ich benutze für eine webapplikation momentan property-files und würde nur ungern sofort auf xml o.a. umsteigen (da einarbeitung darein und der rest des projektes auch erstmal fertig gestellt werden will).
hat jemand erfahrungsberichte o.ä. diesbezüglich ?

Trent
30.01.2003, 09:02
Eine andere (einfache,dreckige) Methode ist mit Serialisierung zu arbeiten.
Dazu müßen alle Klassen,deren Instanzen serialisiert werden müßen das Interface Serializable implementieren (es gibt aber keine Methode zu überschreiben).

So,jetzt mußt du nur noch die Wurzel aller deiner Daten packen (das kann auch die Instanz deines Programms sein).


private static void speichern() {
FileOutputStream fileout = null;
GZIPOutputStream gzipout = null;
ObjectOutputStream out = null;
try {
String fileName = "save.dat";
fileout = new FileOutputStream(fileName);
}
catch(FileNotFoundException fnfe) {
System.err.println(fnfe);
}
try {
gzipout = new GZIPOutputStream(fileout);
out = new ObjectOutputStream(gzipout);
out.writeObject(ObjectDasZuSpeichernIst);
}
catch(Exception ex) {
System.err.println(ex);
}
finally {
try {
if(out != null)
out.close();
}
catch(IOException ioe) {
System.err.println(ioe);
}
}
}


Das schöne,du kannst die Daten genau so wieder lesen.

Jan Krüger
30.01.2003, 14:59
- Excel ist kein Datenbankersatz. Wirklich nicht.
- Performance ist nicht allzu wichtig, wenn du alle Daten auf einmal in den Speicher lädst (mal im Ernst, soo viel Platz können 500 Geburtstage nicht wegnehmen ;))... wenn du richtig Performance für Übermengen von Geburtstagen willst, wirst du um das Datenbanksystem sowieso kaum drumherumkommen.