Text in zweidimensionalem Array ablegen

Edelfalke

Mitglied
So, nun hab ich eine neue Frage.
Es wäre sehr nett, wenn mir jemand ein kleines Beispiel geben würde, wie man eine Textdatei in ein zweidimensionales Array einlesen könnte.

Die Textdatei ist folgendermaßen aufgebaut (wie auch in meinem vorherigen Beitrag
HTML:
http://www.tutorials.de/forum/java/273066-suche-nach-trennoperatoren.html#post1413116
erklärt):

0|AAA|BBB|CCCCCC|777|DDD.......
1|EEE|......
2|FFF|...

Was ich brauche, ist ein Dynamisches Array, in dem anschließend die Daten zwischen den Trennoperatoren "|" stehen.

d.h.

[1] [2] [3] [4] ...
0 AAA BBB CCCCC ....




Für ein Codebeispiel wär' ich sehr dankbar.

Gruß Alex
 
Da es dynamische Arrays nicht gibt müsstest du eine ArrayList benutzen.

Also ein ArrayList<List<String>> lines = new ArrayList<List<String>>();

Dann zeilenweise die Datei einlesen und die Zeile dann mit split("|") auteilen. Das entstehenden Array mit Arrays.toList in eine Liste umwandeln und diese dann mit lines.add() zu den Zeilen hinzufügen.

Und lösch den anderen Thread wieder.....
 
Danke schonmal für die Hilfe, werde es ausprobieren.
Sorry für den Doppelpost, hab es irgendwie nicht mitbekommen.

Gruß Alex
 
So, hab eben etwas rumprobiert, aber nicht wirklich zu einem sinnvollem Ergebniss gekommen.
Leider muss ich sagen dass ich ein Anfänger bin, was das Programmieren angeht und auch meine Englischkenntnisse mehr als dürftig sind.

Hier nun mein Code, den ich jetzt mal geschrieben habe:

Code:
ArrayList<List<String[]>> linesS = new ArrayList<List<String[]>>();
for (int i=0;i<mqls.length;i++){
	String[] mqlsline = mqls[i].split("|") ;
	List ListS = Arrays.<String[]>asList(new String[][] { mqlsline });
	linesS.add(ListS);
	System.out.println(linesS);
}

die Ausgabe von System.out... ist auch anschaulich, allerdings bekomme ich dort nur die Adressen der Inhalte heraus, also in etwa so:

Code:
[[[Ljava.lang.String;@15b0333], [[Ljava.lang.String;@2f2295], [[Ljava.lang.String;@8f9a32], [[Ljava.lang.String;@1d47b2b], [[Ljava.lang.String;@1581e80], [[Ljava.lang.String;@3a9d95], [[Ljava.lang.String;@4ed904], [[Ljava.lang.String;@1c1f5b2], [[Ljava.lang.String;@1706da8], [[Ljava.lang.String;@15d252d], [[Ljava.lang.String;@33b121], [[Ljava.lang.String;@1b22920], [[Ljava.lang.String;@1aa2c23], [[Ljava.lang.String;@137d4a4], [[Ljava.lang.String;@6963d0], [[Ljava.lang.String;@118223d], [[Ljava.lang.String;@1700391], [[Ljava.lang.String;@fa39d7], [[Ljava.lang.String;@1eb904d], [[Ljava.lang.String;@4eeaaf], [[Ljava.lang.String;@111bfbc], [[Ljava.lang.String;@4310d0], [[Ljava.lang.String;@104fc23], [[Ljava.lang.String;@457d21], [[Ljava.lang.String;@1a0ae6], [[Ljava.lang.String;@1c18a4c], [[Ljava.lang.String;@15e92d7], [[Ljava.lang.String;@1fa681c], [[Ljava.lang.String;@19e09a4], [[Ljava.lang.String;@8aeed0], [[Ljava.lang.String;@144b18f], [[Ljava.lang.String;@e5355f], [[Ljava.lang.String;@132ae7], [[Ljava.lang.String;@65b738], [[Ljava.lang.String;@1dfd868], [[Ljava.lang.String;@f894ce], [[Ljava.lang.String;@1f1680f], [[Ljava.lang.String;@1e6e305], [[Ljava.lang.String;@14275d4], [[Ljava.lang.String;@45e228], [[Ljava.lang.String;@2b249], [[Ljava.lang.String;@106daba], [[Ljava.lang.String;@1021f34], [[Ljava.lang.String;@4eb043], [[Ljava.lang.String;@163956], [[Ljava.lang.String;@10e434d], [[Ljava.lang.String;@16477d9], [[Ljava.lang.String;@f864fe], [[Ljava.lang.String;@2c17f7], [[Ljava.lang.String;@d9896e], [[Ljava.lang.String;@1cda59b], [[Ljava.lang.String;@12fb0af], [[Ljava.lang.String;@1f8bd0d], [[Ljava.lang.String;@143bf3d], [[Ljava.lang.String;@c06258], [[Ljava.lang.String;@789869], [[Ljava.lang.String;@15e293a], [[Ljava.lang.String;@e4bb3c], [[Ljava.lang.String;@c063ad], [[Ljava.lang.String;@cffc79], [[Ljava.lang.String;@c8769b], [[Ljava.lang.String;@e2ecc7], [[Ljava.lang.String;@272961], [[Ljava.lang.String;@10dc656], [[Ljava.lang.String;@e0e515], [[Ljava.lang.String;@dfcb47], [[Ljava.lang.String;@9abc69], [[Ljava.lang.String;@c792d4], [[Ljava.lang.String;@78dc4c]]
[[[Ljava.lang.String;@15b0333], [[Ljava.lang.String;@2f2295], [[Ljava.lang.String;@8f9a32], [[Ljava.lang.String;@1d47b2b], [[Ljava.lang.String;@1581e80], [[Ljava.lang.String;@3a9d95], [[Ljava.lang.String;@4ed904], [[Ljava.lang.String;@1c1f5b2], [[Ljava.lang.String;@1706da8], [[Ljava.lang.String;@15d252d], [[Ljava.lang.String;@33b121], [[Ljava.lang.String;@1b22920], [[Ljava.lang.String;@1aa2c23], [[Ljava.lang.String;@137d4a4], [[Ljava.lang.String;@6963d0], [[Ljava.lang.String;@118223d], [[Ljava.lang.String;@1700391], [[Ljava.lang.String;@fa39d7], [[Ljava.lang.String;@1eb904d], [[Ljava.lang.String;@4eeaaf], [[Ljava.lang.String;@111bfbc], [[Ljava.lang.String;@4310d0], [[Ljava.lang.String;@104fc23], [[Ljava.lang.String;@457d21], [[Ljava.lang.String;@1a0ae6], [[Ljava.lang.String;@1c18a4c], [[Ljava.lang.String;@15e92d7], [[Ljava.lang.String;@1fa681c], [[Ljava.lang.String;@19e09a4], [[Ljava.lang.String;@8aeed0], [[Ljava.lang.String;@144b18f], [[Ljava.lang.String;@e5355f], [[Ljava.lang.String;@132ae7], [[Ljava.lang.String;@65b738], [[Ljava.lang.String;@1dfd868], [[Ljava.lang.String;@f894ce], [[Ljava.lang.String;@1f1680f], [[Ljava.lang.String;@1e6e305], [[Ljava.lang.String;@14275d4], [[Ljava.lang.String;@45e228], [[Ljava.lang.String;@2b249], [[Ljava.lang.String;@106daba], [[Ljava.lang.String;@1021f34], [[Ljava.lang.String;@4eb043], [[Ljava.lang.String;@163956], [[Ljava.lang.String;@10e434d], [[Ljava.lang.String;@16477d9], [[Ljava.lang.String;@f864fe], [[Ljava.lang.String;@2c17f7], [[Ljava.lang.String;@d9896e], [[Ljava.lang.String;@1cda59b], [[Ljava.lang.String;@12fb0af], [[Ljava.lang.String;@1f8bd0d], [[Ljava.lang.String;@143bf3d], [[Ljava.lang.String;@c06258], [[Ljava.lang.String;@789869], [[Ljava.lang.String;@15e293a], [[Ljava.lang.String;@e4bb3c], [[Ljava.lang.String;@c063ad], [[Ljava.lang.String;@cffc79], [[Ljava.lang.String;@c8769b], [[Ljava.lang.String;@e2ecc7], [[Ljava.lang.String;@272961], [[Ljava.lang.String;@10dc656], [[Ljava.lang.String;@e0e515], [[Ljava.lang.String;@dfcb47], [[Ljava.lang.String;@9abc69], [[Ljava.lang.String;@c792d4], [[Ljava.lang.String;@78dc4c], [[Ljava.lang.String;@c70b0d]]
[[[Ljava.lang.String;@15b0333], [[Ljava.lang.String;@2f2295], [[Ljava.lang.String;@8f9a32], [[Ljava.lang.String;@1d47b2b], [[Ljava.lang.String;@1581e80], [[Ljava.lang.String;@3a9d95], [[Ljava.lang.String;@4ed904], [[Ljava.lang.String;@1c1f5b2], [[Ljava.lang.String;@1706da8], [[Ljava.lang.String;@15d252d], [[Ljava.lang.String;@33b121], [[Ljava.lang.String;@1b22920], [[Ljava.lang.String;@1aa2c23], [[Ljava.lang.String;@137d4a4], [[Ljava.lang.String;@6963d0], [[Ljava.lang.String;@118223d], [[Ljava.lang.String;@1700391], [[Ljava.lang.String;@fa39d7], [[Ljava.lang.String;@1eb904d], [[Ljava.lang.String;@4eeaaf], [[Ljava.lang.String;@111bfbc], [[Ljava.lang.String;@4310d0], [[Ljava.lang.String;@104fc23], [[Ljava.lang.String;@457d21], [[Ljava.lang.String;@1a0ae6], [[Ljava.lang.String;@1c18a4c], [[Ljava.lang.String;@15e92d7], [[Ljava.lang.String;@1fa681c], [[Ljava.lang.String;@19e09a4], [[Ljava.lang.String;@8aeed0], [[Ljava.lang.String;@144b18f], [[Ljava.lang.String;@e5355f], [[Ljava.lang.String;@132ae7], [[Ljava.lang.String;@65b738], [[Ljava.lang.String;@1dfd868], [[Ljava.lang.String;@f894ce], [[Ljava.lang.String;@1f1680f], [[Ljava.lang.String;@1e6e305], [[Ljava.lang.String;@14275d4], [[Ljava.lang.String;@45e228], [[Ljava.lang.String;@2b249], [[Ljava.lang.String;@106daba], [[Ljava.lang.String;@1021f34], [[Ljava.lang.String;@4eb043], [[Ljava.lang.String;@163956], [[Ljava.lang.String;@10e434d], [[Ljava.lang.String;@16477d9], [[Ljava.lang.String;@f864fe], [[Ljava.lang.String;@2c17f7], [[Ljava.lang.String;@d9896e], [[Ljava.lang.String;@1cda59b], [[Ljava.lang.String;@12fb0af], [[Ljava.lang.String;@1f8bd0d], [[Ljava.lang.String;@143bf3d], [[Ljava.lang.String;@c06258], [[Ljava.lang.String;@789869], [[Ljava.lang.String;@15e293a], [[Ljava.lang.String;@e4bb3c], [[Ljava.lang.String;@c063ad], [[Ljava.lang.String;@cffc79], [[Ljava.lang.String;@c8769b], [[Ljava.lang.String;@e2ecc7], [[Ljava.lang.String;@272961], [[Ljava.lang.String;@10dc656], [[Ljava.lang.String;@e0e515], [[Ljava.lang.String;@dfcb47], [[Ljava.lang.String;@9abc69], [[Ljava.lang.String;@c792d4], [[Ljava.lang.String;@78dc4c], [[Ljava.lang.String;@c70b0d], [[Ljava.lang.String;@1a6a1a7]]
[[[Ljava.lang.String;@15b0333], [[Ljava.lang.String;@2f2295], [[Ljava.lang.String;@8f9a32], [[Ljava.lang.String;@1d47b2b], [[Ljava.lang.String;@1581e80], [[Ljava.lang.String;@3a9d95], [[Ljava.lang.String;@4ed904], [[Ljava.lang.String;@1c1f5b2], [[Ljava.lang.String;@1706da8], [[Ljava.lang.String;@15d252d], [[Ljava.lang.String;@33b121], [[Ljava.lang.String;@1b22920], [[Ljava.lang.String;@1aa2c23], [[Ljava.lang.String;@137d4a4], [[Ljava.lang.String;@6963d0], [[Ljava.lang.String;@118223d], [[Ljava.lang.String;@1700391], [[Ljava.lang.String;@fa39d7], [[Ljava.lang.String;@1eb904d], [[Ljava.lang.String;@4eeaaf], [[Ljava.lang.String;@111bfbc], [[Ljava.lang.String;@4310d0], [[Ljava.lang.String;@104fc23], [[Ljava.lang.String;@457d21], [[Ljava.lang.String;@1a0ae6], [[Ljava.lang.String;@1c18a4c], [[Ljava.lang.String;@15e92d7], [[Ljava.lang.String;@1fa681c], [[Ljava.lang.String;@19e09a4], [[Ljava.lang.String;@8aeed0], [[Ljava.lang.String;@144b18f], [[Ljava.lang.String;@e5355f], [[Ljava.lang.String;@132ae7], [[Ljava.lang.String;@65b738], [[Ljava.lang.String;@1dfd868], [[Ljava.lang.String;@f894ce], [[Ljava.lang.String;@1f1680f], [[Ljava.lang.String;@1e6e305], [[Ljava.lang.String;@14275d4], [[Ljava.lang.String;@45e228], [[Ljava.lang.String;@2b249], [[Ljava.lang.String;@106daba], [[Ljava.lang.String;@1021f34], [[Ljava.lang.String;@4eb043], [[Ljava.lang.String;@163956], [[Ljava.lang.String;@10e434d], [[Ljava.lang.String;@16477d9], [[Ljava.lang.String;@f864fe], [[Ljava.lang.String;@2c17f7], [[Ljava.lang.String;@d9896e], [[Ljava.lang.String;@1cda59b], [[Ljava.lang.String;@12fb0af], [[Ljava.lang.String;@1f8bd0d], [[Ljava.lang.String;@143bf3d], [[Ljava.lang.String;@c06258], [[Ljava.lang.String;@789869], [[Ljava.lang.String;@15e293a], [[Ljava.lang.String;@e4bb3c], [[Ljava.lang.String;@c063ad], [[Ljava.lang.String;@cffc79], [[Ljava.lang.String;@c8769b], [[Ljava.lang.String;@e2ecc7], [[Ljava.lang.String;@272961], [[Ljava.lang.String;@10dc656], [[Ljava.lang.String;@e0e515], [[Ljava.lang.String;@dfcb47], [[Ljava.lang.String;@9abc69], [[Ljava.lang.String;@c792d4], [[Ljava.lang.String;@78dc4c], [[Ljava.lang.String;@c70b0d], [[Ljava.lang.String;@1a6a1a7], [[Ljava.lang.String;@bef361]]
.
.
.

Was mache ich hier falsch?
Bzw. Wie wäre es richtig
 
Arrays kann man mit Arrays.toString(array) ausgeben.

Aber abgesehen davon hast du das nicht ganz richtig implementiert.

Entweder du nimmst eine ArrayList<List<String>> oder eine ArrayList<String []>. Habe etwas zu kompliziert gedacht in meinem ersten Post. Lass einfach das Arrays.asList weg und mach direkt ein lines.add(mqlsline).
 
Danke für die schnelle Antwort.
Leider funktioniert das auch nicht, der Methode .add kann kein <List<String[]>> übernehmen, sondern nur ein String[].

Gruß Alex


Update:
hab jetzt die Zeile:
ArrayList<List<String[]>> linesS = new ArrayList<List<String[]>>();
so geändert:
ArrayList<String[]> linesS = new ArrayList<String[]>();

jetzt läuft es, aber ich bekomme immernoch nur die Adressen, und nicht den Inhalt.
Wie kann ich nun den Inhalt der ArrayList auslesen?
 
Zuletzt bearbeitet:
Du musst schon ein wenig mitdenken und verstehen was du da eigentlich tun willst und welche strukturen passend sind und was die eigentlich können und tun.

Java:
ArrayList<String[]> linesS = new ArrayList<String[]>();
for (int i=0;i<mqls.length;i++){
	String[] mqlsline = mqls[i].split("|") ;
	linesS.add(mqlsline);
	System.out.println(Arrays.toString(mqlsline));
}
 
Danke, hab mir den Teil mit Strin[] statt Lis<String[]> auch schon selbst gedacht ;)
Nur wie ich den Inhalt auslese, wusste ich nicht.
Jetzt ist das Nächste Problem da, der inhalt wird nicht nach "|" gesplittet, sondern, es wird jedes einzelne Zeichen ausgegeben.

Zusätzlich stellt sich mir die nächste Frage, wie kann ich auf die einzelnen Elemente zugreifen?
z.B. möchte ich zum fünften "|" in einer bestimmten Zeile springen.

Gruß Alex
 
Lies doch bitte mal die API zu ArrayList und zu Arrays allgemein, dann dürftest du rausfinden wie man auf die Elemente zugreift.

Versucht bei dem split mal \\|
 
Jo, danke, das mit "\\|" hat auch funktioniert.


PS. wie ich bei einem Array auf die einzelnen Elemente zugreife, weis ich, nur hab ich in diesem Fall echt keine Ahnung. Zu der API, leider wie ich vorhin schon gesagt habe, ist mein Englisch nicht besonders.
Was mir noch aufgefallen ist, warum mache ich linesS.add(mqlsline);
wenn ich nicht auf lineS zugreife sondern auf mqlsline: System.out.println(Arrays.toString(mqlsline)); ?
Wenn ich das linesS.add(mqlsline); weglasse, bekomme ich dasselbe Ergebnis.
 
Zuletzt bearbeitet:
Zurück