Textdatei mit unterschiedlicher Spaltenanzahl einlesen

Status
Nicht offen für weitere Antworten.
M

Marcel2565

Gast
Hallo,
ich speichere mit meinen "Laufauswertungsprogramm" folgende Textdatei:

  • 1;1;1;1;1;1;0;0;0
    2;2;2;2;2;1;0;0;0
    3;3;3;3;3;3;0;0;0
    [Altersgruppen]
    1;1;1
    2;22;2
    3;3;3

Jetzt versuche ich diese wieder zu öffnen und in die jeweilige ArrayList zu stecken:

Code:
public static void Offnen(String Pfad) {
		try {
			BufferedReader in = new BufferedReader(new FileReader(Pfad));
			String str;
			Pattern p = Pattern.compile("[;]");
			while ((str = in.readLine()) != null) {
				System.out.println(str);

				String[] Spalte = p.split(str);

				Laeufer l = new Laeufer();
				if(str.indexOf("[Altersgruppen]")==0){
					
					Altersgruppe ag = new Altersgruppe();

					while((str=in.readLine())!=null){
					//System.out.println("Altergruppen " + str);
					ag.Bezeichnung = Spalte[0];					
					ag.AlterVon = Integer.valueOf(Spalte[1]).intValue();
					ag.AlterBis = Integer.valueOf(Spalte[2]).intValue();
					
					neueAltersgruppe.aLAltergruppe.add(ag);
					
					}
				}
				
				MarkierungErmitteln.markiert = false;
				l.startnummer = Integer.valueOf(Spalte[0]).intValue();
				l.nachname = Spalte[1];
				l.vorname = Spalte[2];
				l.Geboren = Spalte[3];
				l.verein = Spalte[4];
				l.Altersgruppe = Spalte[5];
				l.stunde = Integer.valueOf(Spalte[6]).intValue();
				l.minute = Integer.valueOf(Spalte[7]).intValue();
				l.sekunde = Integer.valueOf(Spalte[8]).intValue();
				menubar.aL.add(l);

				
				
				
				
			}
			in.close();
		} catch (IOException e2) {
			System.out.print(e2);
		}


Die Ausgabe ist dann:
  • 1;1;1;1;1;1;0;0;0
    2;2;2;2;2;1;0;0;0
    3;3;3;3;3;3;0;0;0
    [Altersgruppen]
    Altergruppen 1;1;1
    0

Die ersten 3 Zeilen sind ja soweit richtig, aber der Sprung auf den 3 spaltigen String klappt irgendwie nicht.


Kann jemand helfen?

Danke
Marcel
 
S

SlaterB

Gast
du erzeugst nur ein Altersgruppe-Objekt,
änderst dessen Werte in der inneren Schleife und fügst dann immer das gleiche Objekt in die Liste ein,

der Code
ag.Bezeichnung = Spalte[0];
ag.AlterVon = Integer.valueOf(Spalte[1]).intValue();
ag.AlterBis = Integer.valueOf(Spalte[2]).intValue();

ist auch unabhängig von den Zeilen str in der inneren while-Schleife, bezieht sich auf das vorher definierte Spalte-Objekt

--------

nachdem die Behandlung der Altersgruppen fertig ist,
wird mit dem normalen Code dahinter fortgefahren
(l.nachname = Spalte[1];
l.vorname = Spalte[2];
l.Geboren = Spalte[3];
l.verein = Spalte[4]; )

ob das wohl gut geht?..
 
S

SlaterB

Gast
auf jeden Fall nur eine while-Schleife,
Struktur durch Unteroperationen hat auch noch keinem geschadet,

musst du wissen ob das möglich ist beim Zugriff auf die Listen neueAltersgruppe & menubar.aL,
evtl. diese als Parameter übergeben

Code:
boolean gruppen = false;
while ((str = in.readLine()) != null) { 
   if(!gruppen && str.indexOf("[Altersgruppen]")==0){ 
     gruppen = true;
   }
   if (gruppen) {
      bearbeiteZeileAlsGruppe(str);
   } else {
      bearbeiteZeileAlsLaeufer(str);
   }
}
 
M

Marcel2565

Gast
Vielen Dank jetzt geht es.

Code:
try {
			BufferedReader in = new BufferedReader(new FileReader(Pfad));
			String str;

			while ((str = in.readLine()) != null) {
				if (str.indexOf("[Altersgruppen]") == -1) {
					bearbeiteZeileAlsLaeufer(str);

				} else {
					str = in.readLine();
					bearbeiteZeileAlsAltersgruppe(str);
				}
			}
			in.close();

		} catch (IOException e2) {
			System.out.print(e2);
		}
		speichern
				.FileWriter("/Dokumente und Einstellungen/Abheiden/Desktop/Zwischenspeicher.txt");
		menubar.tabelle();
	}

	private static void bearbeiteZeileAlsAltersgruppe(String str) {
		Altersgruppe ag = new Altersgruppe();

		Pattern p = Pattern.compile("[;]");
		String[] Spalte = p.split(str);
		MarkierungErmitteln.markiert = false;
		ag.Bezeichnung = Spalte[0];
		ag.AlterVon = Integer.valueOf(Spalte[1]).intValue();
		ag.AlterBis = Integer.valueOf(Spalte[2]).intValue();
		neueAltersgruppe.aLAltergruppe.add(ag);

	}

	private static void bearbeiteZeileAlsLaeufer(String str) {

		Laeufer l = new Laeufer();

		Pattern p = Pattern.compile("[;]");
		String[] Spalte = p.split(str);
		MarkierungErmitteln.markiert = false;
		l.startnummer = Integer.valueOf(Spalte[0]).intValue();
		l.nachname = Spalte[1];
		l.vorname = Spalte[2];
		l.Geboren = Spalte[3];
		l.verein = Spalte[4];
		l.Altersgruppe = Spalte[5];
		l.stunde = Integer.valueOf(Spalte[6]).intValue();
		l.minute = Integer.valueOf(Spalte[7]).intValue();
		l.sekunde = Integer.valueOf(Spalte[8]).intValue();
		menubar.aL.add(l);

	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
W String einer Textdatei in einzelne Stringobjekte pro Zeile aufteilen Java Basics - Anfänger-Themen 14
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
javapingu Jeglichen Inhalt einer Textdatei nach Zeile n löschen Java Basics - Anfänger-Themen 8
izoards Textdatei Human unreadable abspeichern Java Basics - Anfänger-Themen 17
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
LeoDerKek Textdatei in JAR-File Java Basics - Anfänger-Themen 4
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
Ray19941 Über BlueJ Textdatei selbstständig erstellen lassen Java Basics - Anfänger-Themen 2
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
D Input/Output Mehrzeiligen String aus Textdatei erstellen Java Basics - Anfänger-Themen 5
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
A Textdatei mit stream einlesen Java Basics - Anfänger-Themen 2
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Objekt aus Textdatei in ArrayList speichern Java Basics - Anfänger-Themen 4
J Wörter aus Textdatei suchen Java Basics - Anfänger-Themen 2
S Importieren einer Textdatei Java Basics - Anfänger-Themen 2
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
Jinnai4 Werte in Textdatei ändern Java Basics - Anfänger-Themen 2
JDimi Textdatei mit beliebig vielen Zeilenumbrüchen erstellen Java Basics - Anfänger-Themen 2
it_is_all Bild-Pfad wird gefunden, nicht aber Textdatei-Pfad Java Basics - Anfänger-Themen 8
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G Wert in Textdatei ersetzen? Java Basics - Anfänger-Themen 2
J Daten einer Textdatei in ein JTable importieren. Java Basics - Anfänger-Themen 3
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
A Textdatei mit BufferedReader einlesen Java Basics - Anfänger-Themen 0
T Länge einer Textdatei Java Basics - Anfänger-Themen 11
S Übertragen einer Textdatei in ein 2d-Array Java Basics - Anfänger-Themen 2
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
T Textdatei öffnen und ans Ende scrollen Java Basics - Anfänger-Themen 11
J Textdatei filtern und bearbeiten Java Basics - Anfänger-Themen 1
C Textdatei oder doch eine Datenban Java Basics - Anfänger-Themen 15
J Input/Output Tilemap effizient speichern als Textdatei Java Basics - Anfänger-Themen 7
J Input/Output Zeile in Textdatei ändern Java Basics - Anfänger-Themen 14
M Textdatei(en) in .jar schreiben Java Basics - Anfänger-Themen 5
K Textdatei auslesen Java Basics - Anfänger-Themen 10
H Input/Output Inhalt einer GUI in Textdatei speichern Java Basics - Anfänger-Themen 1
K Erste Schritte Textdatei -> Array Java Basics - Anfänger-Themen 1
F Textdatei einlesen in ArryList (Objekte abspeichern?) Java Basics - Anfänger-Themen 4
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
G Erste Schritte Textdatei einlesen und in Array speichern Java Basics - Anfänger-Themen 5
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
L Namen aus Textdatei auslesen Java Basics - Anfänger-Themen 1
E Textdatei kopieren funktioniert nicht Java Basics - Anfänger-Themen 12
M Zweidimensionales Array aus Textdatei gewinnen Java Basics - Anfänger-Themen 6
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
S Methoden Textdatei auslesen Java Basics - Anfänger-Themen 11
G Textdatei auf Dubletten prüfen Java Basics - Anfänger-Themen 8
T Textdatei Zeile löschen? Java Basics - Anfänger-Themen 4
T Textdatei beschreiben/bearbeiten Java Basics - Anfänger-Themen 4
S Textdatei einlesen und JFrame füllen Java Basics - Anfänger-Themen 14
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
S Textdatei lesen, Methode gibt nur die letzte Zeile aus. Warum? Java Basics - Anfänger-Themen 5
C Einlesen in Array von Textdatei sehr langsam Java Basics - Anfänger-Themen 7
R Werte in eine Textdatei schreiben Java Basics - Anfänger-Themen 20
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
T Scanner für große Textdatei Java Basics - Anfänger-Themen 11
A Unterschied Textdatei und Quelltextdatei Java Basics - Anfänger-Themen 5
P Input/Output Textdatei einlesen - 1. Zeichen fehlt Java Basics - Anfänger-Themen 7
J Input/Output Textdatei in einer JAR lesen Java Basics - Anfänger-Themen 3
T Erste Schritte einzelne Wörter aus textdatei lesen... Java Basics - Anfänger-Themen 4
S Textdatei im Internet lesen und editieren Java Basics - Anfänger-Themen 2
J Textdatei einlesen und ausgeben - NullPointerException Java Basics - Anfänger-Themen 5
M Input/Output Objekte in einer Textdatei ablegen (Highscore) Java Basics - Anfänger-Themen 9
P CSV Daten in Textdatei Speichern Java Basics - Anfänger-Themen 3
K Input/Output Eingelesenedaten von Scanner als Textdatei ausgeben? Java Basics - Anfänger-Themen 2
N Input/Output Konsolenausgabe in Textdatei speichern/umleiten Java Basics - Anfänger-Themen 7
V Auf Textdatei in jar zugreifen Java Basics - Anfänger-Themen 3
A Textdatei einlesen - erstes Zeichen falsch Java Basics - Anfänger-Themen 20
S Methoden Textdatei Teil String auslesen Java Basics - Anfänger-Themen 3
H Zeile aus Textdatei lesen und in Textfield schreiben Java Basics - Anfänger-Themen 4
J durch drücken eines buttons text in einer textdatei speichern Java Basics - Anfänger-Themen 2
W letzte Zeile aus wachsender Textdatei auslesen Java Basics - Anfänger-Themen 5
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
M Datum aus einer Textdatei holen Java Basics - Anfänger-Themen 9
C Spalte einer Textdatei einlesen Java Basics - Anfänger-Themen 10
Fab1 Input/Output Textdatei auslesen Java Basics - Anfänger-Themen 4
O grosse Textdatei performant als string speichern Java Basics - Anfänger-Themen 8
P Mit offset aus Textdatei auslesen Java Basics - Anfänger-Themen 3
C Textdatei einlesen Java Basics - Anfänger-Themen 8
V Falsches Auslesen von Textdatei Java Basics - Anfänger-Themen 3
T Input/Output 20Mb Textdatei zeilenweise auslesen Java Basics - Anfänger-Themen 10
N Textdatei lesen mit Umlauten Java Basics - Anfänger-Themen 16
N In Textdatei speichern und auslesen Java Basics - Anfänger-Themen 18
M Textdatei einlesen Java Basics - Anfänger-Themen 3
M Liste in Textdatei schreiben Java Basics - Anfänger-Themen 7
B Input/Output Textdatei einlesen Windows / Linux Java Basics - Anfänger-Themen 2
F Textdatei einlesen Java Basics - Anfänger-Themen 7
C Textdatei einlesen -> Probleme Java Basics - Anfänger-Themen 3
K Input/Output Textdatei scheibchenweise auslesen Java Basics - Anfänger-Themen 8
S Textdatei stückweise einlesen Java Basics - Anfänger-Themen 7
D 1 Wort aus TextDatei auslesen Java Basics - Anfänger-Themen 3
J Jede Zeile der Textdatei in ListUI eintragen Java Basics - Anfänger-Themen 2
N Textdatei wird beim Speichern nicht überschrieben, sondern ergänzt Java Basics - Anfänger-Themen 4
A Double Array in TextDatei schreiben Java Basics - Anfänger-Themen 9
K Richtige Pfadangabe einer Textdatei Java Basics - Anfänger-Themen 7
B OOP Aus Textdatei auslesen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben