Input/Output Inhalte von ArrayList und JList in Datei schreiben

C

CreaaZ

Gast
Hallo,

ich habe eine frage zum Thema "Schreiben und Lesen von Dateien"..
Ich habe ein Programm geschrieben, welches Daten in 9 ArrayLists und einer JList verarbeitet.
Nun möchte ich, dass man auf Wunsch den aktuellen Inhalt der Listen speichert.
Zur Indikation:

Jedem Object aus der JList ist ein String aus den je 9 ArrayListen zugeordnet, bzw. die Indizes der zusammengehörenden Objects ist in allen Listen gleich.
Drückt man also in meinem Programm den zweiten Eintrag (Index 0), fragt er aus allen Listen den Eintrag mit Index=0 ab und schreibt sie in verschiedene Textfelder.

Mein Ziel ist es dass ich wenn ich das Programm schließe und danach wieder öffne, dass der Inhalt von dem letzten Schließen wiederhergestellt wird und ich weiter Elemente hinzufügen und löschen kann..

Wie kann ich das am einfachsten und besten implementieren?
Ich hatte eventuell an eine XML-File gedacht in die alle Strings geschrieben werden..
Gibt es einfache, bzw. bessere Methoden?

Mit freundlichen Grüßen,

CreaaZ
 

Michael...

Top Contributor
Jedem Object aus der JList ist ein String aus den je 9 ArrayListen zugeordnet, bzw. die Indizes der zusammengehörenden Objects ist in allen Listen gleich.
Drückt man also in meinem Programm den zweiten Eintrag (Index 0), fragt er aus allen Listen den Eintrag mit Index=0 ab und schreibt sie in verschiedene Textfelder.
Das hört sich nach einer ziemlichen Krücke an. Besser man definiert sich eine Klasse die diese Attribute in einem Objekt hält. Und arbeitet dann mit Objekten dieser Klasse und nur noch einer ArrayList und ohne die Abfrage aus anderen Listen.
Wie kann ich das am einfachsten und besten implementieren?
Ich hatte eventuell an eine XML-File gedacht in die alle Strings geschrieben werden..
Gibt es einfache, bzw. bessere Methoden?
Grundsätzlich bietet Java die Möglichkeit der Serialisierung und Deserialisierung - auch als XML.
Alternativen: Datenhaltung in einer Datenbank, selbst über die Listeneinträge iterieren und in eine Datei schreiben...
 
C

CreaaZ

Gast
Vielen Dank für deine Antwort,

ich bin noch Java-Anfänger und habe mir die Grundlagen in der Schule angeeignet. Ich bin erst in der Stufe 12 und habe noch einiges vor mir ;)
Aber die Idee, dass es so gehen könnte wie du es geschildert hast ist mir auch gekommen, ich hatte nur nicht den leisesten Ansatz zum schreiben..

Vielleicht hast du ja einen Link für mich, wo ich mir zu dem Thema etwas durchlesen kann. Es hört sich nämlich wesentlich "einfacher" an als das was ich bereits implementiert habe... :)

Das mit den Datenbanken würde meinen Zeitrahmen sprengen, da ich mich auch hier erst einlesen müsste und wird auch in der Schule erst nächstes Halbjahr behandelt ... Das andere werde ich mir anschauen, ich hoffe ich werde etwas passendes finden ;)

Danke nochmal für deine schnelle Antwort..
Mfg CreaaZ
 
C

CreaaZ

Gast
Danke für den Link, soweit habe ich das Prinzip des Output/Input Streams verstanden. Nur eine Frage drängt sich mir noch auf. Muss ich für jede ArrayList eine solche Methode implementieren, wenn ich bei meiner "9 ArrayListen"-Software bleibe? Bzw. wenn nicht, wie kann ich sicher stellen, dass die ArrayListen in der selben Reihenfolge gelesen wie eingespeichert werden?.. Ich habe ja quasi nur ein "ObjectOutputStream" wo die Daten abgefangen werden.. Oder sähe dass dann bei mir so aus?

Java:
static ArrayList titelListe = new ArrayList();
static ArrayList vnListe = new ArrayList();
static ArrayList nnListe = new ArrayList();
...
...

private void writeObject(ObjectOutputStream s) throws IOException
{
    s.writeObject(titelListe);
    s.writeObject(vnListe);
    s.writeObject(nnListe);
}
private void readObject(ObjectInputStream s)
  throws IOException, ClassNotFoundException
{
    titelListe = s.readObject();
    vnListe = s.readObject();
    nnListe = s.readObject();
    ...

}
 

Michael...

Top Contributor
Noch mal der Hinweis zusammengehörende Attribute in einem gemeinsamen Objekt zu halten, statt zu versuchen drei Listen zu "synchronisieren". Das mit den anderen zwei Listen ist unnötig, kompliziert und fehleranfällig.

Hier mal eine Demo zur De/Serialisierung - sogar inkl. Demo Attribute in einem gemeinsamen Objekt zusammen zufassen:
Java:
import java.io.*;
import java.util.*;

public class SerializeExample2 {
	public SerializeExample2() {
		List<Person> list;
		list = new ArrayList<Person>();
		list.add(new Person("Olaf", 10));
		list.add(new Person("Heinz", 11));
		try { 
			System.out.println("Liste vor der Serialisierung:");
			System.out.println(Arrays.toString(list.toArray()));
			ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("c:\\save.txt"));
			out.writeObject(list);
			out.close();
			
			System.out.println();
			
			ObjectInputStream in = new ObjectInputStream(new FileInputStream("c:\\save.txt"));
			List<Person> newList = (ArrayList<Person>)in.readObject();
			in.close();
			System.out.println("Per Deserialisierung geladene Liste:");
			System.out.println(Arrays.toString(newList.toArray()));
		} catch (Exception e) {e.printStackTrace();}
	}
	
	public static void main(String[] args) {
		new SerializeExample2();
	}
}

class Person implements Serializable {
	private String name;
	private Integer alter;
	
	public Person(String name, int alter) {
		this.name = name;
		this.alter = new Integer(alter);
	}
	
	public String toString() {
		return name + "(" + alter +")";
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Eine ArrayList auf gleiche Inhalte prüfen Java Basics - Anfänger-Themen 10
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
J Inhalte von zwei Arrays vertauschen?! Java Basics - Anfänger-Themen 6
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
M Die Inhalte eines Arrays mit der Methode Arrays.toString ausgeben Java Basics - Anfänger-Themen 4
P Interface Variablen-Inhalte werden nicht übergeben Java Basics - Anfänger-Themen 3
D Erste Schritte JFrame Inhalte werden nicht angezeigt Java Basics - Anfänger-Themen 8
U Tabelle ändern und die Inhalte speichern Java Basics - Anfänger-Themen 9
N Bestimmte Inhalte aus Datei lesen Java Basics - Anfänger-Themen 11
C Inhalte zweier Vektoren vergleichen Java Basics - Anfänger-Themen 3
L Datentypen Array Inhalte vergleichen Java Basics - Anfänger-Themen 6
N Array inhalte verschieben Java Basics - Anfänger-Themen 12
I Im JFrame Inhalte verändern per Methode aus anderer Class Java Basics - Anfänger-Themen 5
MiMa Null Inhalte in Variablen Java Basics - Anfänger-Themen 28
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
J Regex um Inhalte zwischen Tags zu ignorieren Java Basics - Anfänger-Themen 2
M Aus String bestimmte Inhalte auslesen Java Basics - Anfänger-Themen 8
E Array Inhalte zählen Java Basics - Anfänger-Themen 6
N Alle Inhalte aus Bean in einer anderen Klasse ausgeben Java Basics - Anfänger-Themen 2
D Datentypen String Inhalte ersetzen Java Basics - Anfänger-Themen 8
F Hilfe! JList Inhalte vertauschen Java Basics - Anfänger-Themen 2
M Zwei Objekt Inhalte vergleichen Java Basics - Anfänger-Themen 22
M zwei array inhalte vergleichen Java Basics - Anfänger-Themen 3
G Inhalte eines Arrays mischen Java Basics - Anfänger-Themen 3
R String Arrays Inhalte vergleichen Java Basics - Anfänger-Themen 4
K Inhalte aus einem Java-Applet-Fenster auslesen Java Basics - Anfänger-Themen 2
N aus HTML einzelne Inhalte (z.B. Tabelleninhalte) auslesen Java Basics - Anfänger-Themen 10
G Inhalte in einer Properties Datei setzen? Java Basics - Anfänger-Themen 14
F mehrer Textdateien Inhalte in eine TXT Datei Java Basics - Anfänger-Themen 16
P Inhalte aus Methoden in String Arrays bringen Java Basics - Anfänger-Themen 4
D Inhalte von Stacks miteinander multiplizieren Java Basics - Anfänger-Themen 4
O nicht-statische Inhalte auf statische Inhalte verweisen Java Basics - Anfänger-Themen 19
G .TXT-Datei einlesen, Inhalte durch TABs getrennt Java Basics - Anfänger-Themen 2
T Inhalte zweier Variablen tauschen Java Basics - Anfänger-Themen 18
M Inhalte eines Vectors alphabetisch ordnen Java Basics - Anfänger-Themen 8
G File auslesen u. Inhalte als table in neuem file darstellen Java Basics - Anfänger-Themen 6
N Zugriff auf Vaiablen inhalte der superklasse Java Basics - Anfänger-Themen 7
krgewb ArrayList allgemein halten Java Basics - Anfänger-Themen 6
M Ausgabe einer ArrayList ensteht nur als Hashcode, nicht als Objekt Java Basics - Anfänger-Themen 16
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
E Arrays in einer ArrayList miteinander vergleichen Java Basics - Anfänger-Themen 12
String in ArrayList umwandeln Java Basics - Anfänger-Themen 1
F Arraylist<String>Ein Wort pro Zeile Java Basics - Anfänger-Themen 6
J ArrayList vergleichen im spiel Mastermind Java Basics - Anfänger-Themen 2
Mugetsu35 ArrayList Update ohne Index Java Basics - Anfänger-Themen 6
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Z Java ArrayList speichert falsche Daten ab bzw. gibt falsche Daten aus? Java Basics - Anfänger-Themen 42
W if-Abfrage bei ArrayList-Methodenaufrufen - Wie löse ich das? Java Basics - Anfänger-Themen 6
W ArrayList und toString Java Basics - Anfänger-Themen 17
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
ArrayList mit unbekannter Menge an Arrays die Arrays vergleichen Java Basics - Anfänger-Themen 9
M 2d ArrayList durchgehen Java Basics - Anfänger-Themen 2
Blkckroll45 Arraylist Java Basics - Anfänger-Themen 6
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
R Methoden Werte einer ArrayList als Parameter übergeben. Java Basics - Anfänger-Themen 4
L Dauerhaftes Speichern einer Eingabe bei einer ArrayList Java Basics - Anfänger-Themen 26
D Arraylist mit Komplexen Datentyp Java Basics - Anfänger-Themen 3
H Kompliziertes Sortieren einer ArrayList mit Objekten(Sortieren nach X und Y) Java Basics - Anfänger-Themen 11
T Permanentes speichern von Objekten in einer ArrayList Java Basics - Anfänger-Themen 6
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
M static ArrayList in non-static Java Basics - Anfänger-Themen 12
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
M ArrayList<TreeNode<T>> fortlaufende Nummerierung der Elemente Java Basics - Anfänger-Themen 5
B Bungeecord | ProxiedPlayer wird nicht in ArrayList hinzugefügt Java Basics - Anfänger-Themen 1
S ArrayList Username und passwort mit JTextField eingaben abgleichen Java Basics - Anfänger-Themen 10
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
F Erste Schritte Zahlenreihe von Arraylist in 3erBlöcke sortiert in neue Arraylist Java Basics - Anfänger-Themen 2
M ArrayList mit einer Schleife befüllen Java Basics - Anfänger-Themen 2
F Methode ArrayList mit Eingabewert Java Basics - Anfänger-Themen 2
J ArrayList add methode selbst programmieren Java Basics - Anfänger-Themen 10
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
thobren jtable arraylist Java Basics - Anfänger-Themen 12
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
P Schiebefix - ArrayList überschreibt Daten Java Basics - Anfänger-Themen 3
Zeppi OOP ArrayList Java Basics - Anfänger-Themen 2
P ArrayList Java Basics - Anfänger-Themen 4
L ArrayList auf 4 Elemente begrenzen Java Basics - Anfänger-Themen 56
C ArrayList sortieren nach bestimmten Buchstaben in den Wörtern Java Basics - Anfänger-Themen 13
S Arraylist<Object> mit verschiedenen Objects ausgeben Java Basics - Anfänger-Themen 3
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
M For Schleife/ArrayList Java Basics - Anfänger-Themen 12
L ArrayList<String> --> double[] array Java Basics - Anfänger-Themen 18
L Längstes Element einer ArrayList ausgeben Java Basics - Anfänger-Themen 9
S Aus verschachtelter ArrayList auf einen Wert zugreifen Java Basics - Anfänger-Themen 4
L Methoden ArrayList Werte hinzufügen und löschen Java Basics - Anfänger-Themen 32
M ArrayList in GUI ausgeben Java Basics - Anfänger-Themen 1
J Nur bestimmter Typ aus der ArrayList ausgeben. Java Basics - Anfänger-Themen 9
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
Bademeister007 Operatoren Alle Zahlen einer ArrayList die durch 5 teilbar ist Java Basics - Anfänger-Themen 2
S Objekt aus Arraylist in andere Arraylist kopieren? Java Basics - Anfänger-Themen 2
C Sortieren einer ArrayList Java Basics - Anfänger-Themen 2
krgewb ArrayList von ArrayList Java Basics - Anfänger-Themen 2
R ArrayList Problem Java Basics - Anfänger-Themen 6
jonny_2k12 Wie kann ich eine ArrayList aus einer Klasse in eine andere übergeben? Java Basics - Anfänger-Themen 21
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
S ArrayList in andere Klasse übernhemen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben