Arraylist in Txt Datei speichern und auslesen

Creeep

Mitglied
Moin allerseits,

Direkt zu anfang: Seit nicht zu hart mit mir ich bin ziemlicher Anfänger und habe bestimmt viele Fehler drinnen.

also Geschichte ist Folgende:
Ich habe einen zufallsgenerator gebastelt,
zuerst habe ich eine Arraylist wo ich die Namen einfüge.
Danach wird diese in einen Iterator umgewandelt und durchgemixxt.
Danach werden die Namen in JLabels angezeigt.
Nun möchte ich halt das diese ArrayList oder der Iterator (Was leichter ist)
als .txt gespeichert wird und ich diese später auch wieder auslesen kann.

So weit bin ich schonmal:

Java:
// Deklarieren der Variablen

ArrayList<String> list = new ArrayList<String>();

Iterator<String> itNamen = list.iterator();

String line;

BufferedReader in = new BufferedReader(new Filereader("9IF.txt")); 
 // Error:unreported Exception java.io.FileNotFoundException; must be caught or declared to be thrown


// Die Mischen Funktion:

Collections.shuffle(list);

for (JLabel labelx : alleMeineLabels) {  //Schleife über alle JLabels
        if (itNamen.hasNext()) { //Sicherheitsabfrage: Gibt es noch weitere Einträge in der Liste
            labelx.setText(itNamen.next()); //Nächster Eintrag aus der Liste (bzw. dem Iterator) wird auf das Label gesetzt.
        } else {
            labelx.setText("Niemand"); //Sollte vermutlich nicht vorkommen
        }
    }


//auslesen:
FileNotFoundException fnfe; {
      System.out.println("Datei nicht gefunden!");
    }
    IOException ioe; {
      System.out.println("Fehler beim Lesen!");
    }


while((line = in.readLine()) != null){  
//Ich oute das hier gleich mal als kopiert.kann mir einer Erklären warum nach dem While 2 Klammern kommen müssen?
//wenn ich eine Lösche meint der wieder was mit nem Error das er ne Boolean braucht und ich ihm ne String vorsetze
list.add(line);
}
in.close();
// Error:unreported Exception java.io.IOException; must be caught or declared to be thrown
 

Michael...

Top Contributor
Du willst ja vermutlich nicht die Liste, sondern deren Inhalt in die Datei schreiben. Dabei ist es egal ob Du direkt über die Liste iterierst oder per Iterator
Zum Schreiben in Textdateien:JavaInsel#Mit dem FileWriter...
Das mit der for Schleife über die Labels und darin den Iterator verwenden ist merkwürdig. Der Inhalt der Labels steht doch in der Liste...
Java:
while((line = in.readLine()) != null){
Die zwei Klammern hier brauchst Du weil Du in der booleanschen Abfrage eine Anweisung bzw. Zuweisung hast. Man könnte das auch zerlegen.
Java:
line = in.readLine();
while(line != null) {
    ...
    line = in.readLine();
}
 

Creeep

Mitglied
Ich glaube das mit der booleanschen Abfrage habe ich jetzt verstanden.

Also zu dem FileWriter:

Ich habe das zwar so weit hinbekommen das er eine neue Datei erstellt und dort etwas reinschreibt, nur ist da wieder ein Problem mit der Liste.
Ich habe folgendes Versucht:

Java:
fw.write(list<1>);   // Er weigert sich mit den <> Klammern und mit einer int zu arbeiten

fw.write(list[1]);    // Auf diese Art werden Arrayinhalte angezeigt und das funktioniert bei der liste
                          //nicht
list.toArray();        // Gibt keine Errors aus aber ich kann die Array nicht benennen bzw. weiß den 
                          //Namen nicht

Falls jemand weiß wie ich die Inhalte der Liste schreiben kann wäre das ne große Hilfe, in den API Docs habe ich jedenfalls nichts sinnvolles gefunden.

@ Michael...
Ich weiß nciht ob ich deine Frage so richtig verstanden habe aber die Schleife über alle Labels ist dort weil der Inhalt gerade nicht in den Labels steht.
Er wird über ein Eingabefeld in die Arraylist geschrieben und gespeichert und soll nachher in den 26 Labels ausgegeben werden.


MfG
 

Creeep

Mitglied
Also das Speichern funktioniert hervorragend.
Es wird die ganze Liste übernommen.
Falls es jemand noch interressiert habe ich i mit ner Gezählten Schleife verbunden wodurch die Einträge schön nacheinander übernommen wurden.

Kann mir jetzt jemand erklären wie ich die Datei wieder auslese?
Irgendwelche Befehle um die Datei zu finden oder etwas in der Art?
 

truesoul

Top Contributor
warum denn finden ?
Du weißt doch wo sich die Datei befindet?
Oder hast du mehrere Dateien und du möchtest eine Datei von vielen auswählen?
Java:
 JFileChooser()
z.B

Ansonsten weißt du doch wie man Textdateien auslesen kann ... siehe Beiträge ?!?

Mfg
 

Creeep

Mitglied
naja wie gewonnen so zeronnen

Ich habe versucht einige Änderungen vorzunehmen und jetzt funktioniert das Speichern auch nicht mehr.

Ich habe alle Änderungen rückgängig gemacht und trotzdem will ers nicht starten.

In dem Stück quelltext hat er die Probleme soweit ich weiß
Java:
FileWriter fw = null;
        try{
  fw = new FileWriter("Java.txt");
  for(int i=0;i!=26;i++){
  fw.write(list.get(i)); //<--- Genau hier will er nicht mehr, aber anstatt list.get z.B. "Test" macht er.
  fw.append(System.getProperty("line.separator") ); // e.g. "\n"
  }
        }
catch ( IOException e ) {
  System.err.println( "Konnte Datei nicht erstellen" );
}
finally {
  if ( fw != null )
    try { fw.close(); } catch ( IOException e ) { }
}

Und die Errors sehen wie folgt aus:
Java:
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java:547)
        at java.util.ArrayList.get(ArrayList.java:322)
        at Sitzordnung.Datei_speichernActionPerformed(Sitzordnung.java:437)
        at Sitzordnung.access$300(Sitzordnung.java:38)
        at Sitzordnung$4.actionPerformed(Sitzordnung.java:228)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6263)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6028)
        at java.awt.Container.processEvent(Container.java:2041)
        at java.awt.Component.dispatchEventImpl(Component.java:4630)
        at java.awt.Container.dispatchEventImpl(Container.java:2099)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
        at java.awt.Container.dispatchEventImpl(Container.java:2085)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4460)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Ich bedanke mich im vorraus für die Hilfe und hoffe mir ist zu helfen

MfG
 

nrg

Top Contributor
deine liste ist leer und deine schleifenbedingung i!=26 ist auch nicht grad so gut gewählt. versuch mal
Code:
i < list.size()
oder einfach foreach
Code:
for ( String s : list ) {...

danach kannste dir überlegen, warum deine liste leer ist :)
 

Creeep

Mitglied
Dankesehr nrg, einen Befehl wie .size habe ich schon lange gesucht aber irgendwie nie was gefunden.
Aber ich würde gerne wissen wie du das Herausgefunden hast. kannst du die Errors klar lesen?

Die Liste war leer weil die errors auftauchten egal was drin war, also hab ich direkt auf "Speichern" gedrückt^^

nunja ich hätte da noch einige Probleme.
mit
Java:
fw = new FileWriter("Java.txt");
kann man ja den Namen angeben.
Ich habe jetzt noch eine Texteingabe eingebaut mit dem der Name selbst schreiben kann.
aber wenn ich
Java:
fw = new FileWriter(String + ".txt");
//oder 
fw = new FileWriter(DateiName);
//DateiName = Texteingabe
mache klappt das nicht so ganz.
Gibts da irgendwelche möglichkeiten?
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
S Arraylist in Datei speichern Java Basics - Anfänger-Themen 8
S ArrayList in eine Txt-Datei speichern Java Basics - Anfänger-Themen 3
T ArrayList in Datei speichern und auslesen Java Basics - Anfänger-Themen 7
J CSV Datei in ArrayList speichern Java Basics - Anfänger-Themen 3
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
M ArrayList durch OutputStream in Datei Java Basics - Anfänger-Themen 9
S XML Datei in ArrayList abspeichern Java Basics - Anfänger-Themen 3
C Input/Output Inhalte von ArrayList und JList in Datei schreiben Java Basics - Anfänger-Themen 5
N XML-Datei in eine ArrayList Java Basics - Anfänger-Themen 6
P ArrayList in Datei schreiben Java Basics - Anfänger-Themen 5
L ArrayList über Methode in Datei schreiben Java Basics - Anfänger-Themen 13
X Aus XML Datei Objekte in Arraylist laden - Fehler! Java Basics - Anfänger-Themen 9
H Objekte aus Text-Datei wieder in ArrayList laden Java Basics - Anfänger-Themen 8
B Objekte aus Datei auslesen und in ArrayList schreiben! Java Basics - Anfänger-Themen 25
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
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
M Letztes Element einer ArrayList Java Basics - Anfänger-Themen 12
B Objektverwaltung mit ArrayList in einer seperaten Klasse Java Basics - Anfänger-Themen 24
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
I ArrayList erstellen innerhalb einer Zeile? Java Basics - Anfänger-Themen 3
L Iterieren durch eine ArrayList. Integer Array wird übergeben Java Basics - Anfänger-Themen 17
V Collections ArrayList mit Comparator sortieren Java Basics - Anfänger-Themen 16
D Collections Arrays in ArrayList abspeichern Java Basics - Anfänger-Themen 6
F java.util.ArrayList Java Basics - Anfänger-Themen 3
M ArrayList - Objekt kopieren und ändern Java Basics - Anfänger-Themen 11
M Zugriff auf eine ArrayList in einer anderen Klasse Java Basics - Anfänger-Themen 4
P Arraylist zu einem Array bringen mit Verschachtelung Java Basics - Anfänger-Themen 11
N Methode mit einer Arraylist Java Basics - Anfänger-Themen 106
H ArrayList Java Basics - Anfänger-Themen 7
D public ArrayList(Collection<? extends E> c); Java Basics - Anfänger-Themen 2
M JTextField in ArrayList speichern Java Basics - Anfänger-Themen 4
C ArrayList mit return zurückgeben Java Basics - Anfänger-Themen 13
K Zahlenfolge ArrayList Java Basics - Anfänger-Themen 3
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
F Array in ArrayList ablegen Java Basics - Anfänger-Themen 3
V ArrayList Java Basics - Anfänger-Themen 1
Z Runden Arraylist Java Basics - Anfänger-Themen 9
X Frage zur einer ArrayList in einer ArrayList Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben